mirror of
https://github.com/MODSetter/SurfSense.git
synced 2026-04-26 01:06:23 +02:00
61 lines
1.7 KiB
Bash
61 lines
1.7 KiB
Bash
|
|
#!/usr/bin/env bash
|
||
|
|
set -euo pipefail
|
||
|
|
|
||
|
|
REPO_ROOT="$(cd "$(dirname "$0")/.." && pwd)"
|
||
|
|
VERSION_FILE="$REPO_ROOT/VERSION"
|
||
|
|
|
||
|
|
if [ ! -f "$VERSION_FILE" ]; then
|
||
|
|
echo "ERROR: VERSION file not found at $VERSION_FILE" >&2
|
||
|
|
exit 1
|
||
|
|
fi
|
||
|
|
|
||
|
|
VERSION="$(tr -d '[:space:]' < "$VERSION_FILE")"
|
||
|
|
|
||
|
|
if ! echo "$VERSION" | grep -qE '^[0-9]+\.[0-9]+\.[0-9]+(-[a-zA-Z0-9.]+)?$'; then
|
||
|
|
echo "ERROR: '$VERSION' is not valid semver (expected X.Y.Z)" >&2
|
||
|
|
exit 1
|
||
|
|
fi
|
||
|
|
|
||
|
|
echo "Bumping all packages to $VERSION"
|
||
|
|
echo "---------------------------------"
|
||
|
|
|
||
|
|
bump_json() {
|
||
|
|
local file="$1"
|
||
|
|
if [ ! -f "$file" ]; then
|
||
|
|
echo " SKIP $file (not found)"
|
||
|
|
return
|
||
|
|
fi
|
||
|
|
local old
|
||
|
|
old="$(sed -n 's/.*"version"[[:space:]]*:[[:space:]]*"\([^"]*\)".*/\1/p' "$file" | head -1)"
|
||
|
|
if [ "$old" = "$VERSION" ]; then
|
||
|
|
echo " OK $file ($old -- already up to date)"
|
||
|
|
else
|
||
|
|
sed -i "s/\"version\": \"$old\"/\"version\": \"$VERSION\"/" "$file"
|
||
|
|
echo " SET $file ($old -> $VERSION)"
|
||
|
|
fi
|
||
|
|
}
|
||
|
|
|
||
|
|
bump_toml() {
|
||
|
|
local file="$1"
|
||
|
|
if [ ! -f "$file" ]; then
|
||
|
|
echo " SKIP $file (not found)"
|
||
|
|
return
|
||
|
|
fi
|
||
|
|
local old
|
||
|
|
old="$(sed -n 's/^version[[:space:]]*=[[:space:]]*"\([^"]*\)".*/\1/p' "$file" | head -1)"
|
||
|
|
if [ "$old" = "$VERSION" ]; then
|
||
|
|
echo " OK $file ($old -- already up to date)"
|
||
|
|
else
|
||
|
|
sed -i "s/^version = \"$old\"/version = \"$VERSION\"/" "$file"
|
||
|
|
echo " SET $file ($old -> $VERSION)"
|
||
|
|
fi
|
||
|
|
}
|
||
|
|
|
||
|
|
bump_json "$REPO_ROOT/surfsense_web/package.json"
|
||
|
|
bump_json "$REPO_ROOT/surfsense_browser_extension/package.json"
|
||
|
|
bump_json "$REPO_ROOT/surfsense_desktop/package.json"
|
||
|
|
bump_toml "$REPO_ROOT/surfsense_backend/pyproject.toml"
|
||
|
|
|
||
|
|
echo "---------------------------------"
|
||
|
|
echo "Done. All packages set to $VERSION"
|