diff --git a/AGENTS.md b/AGENTS.md index 38ba9cf..dcb89fb 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -7,3 +7,10 @@ ## Примечание - Если внешний инструмент/интеграция требует английский формат, допускается английский, но рядом желательно дать краткое пояснение на русском. + +## Версионирование +- Единый файл версий проекта: `VERSION.properties` (в корне репозитория). +- Перед каждым новым коммитом обязательно увеличивать версии в `VERSION.properties`: +- `client.version` — версия клиентского UI. +- `server.version` — версия серверной части. +- Базовое правило инкремента: `+1` по последнему числовому сегменту (patch), если не оговорено иное. diff --git a/VERSION.properties b/VERSION.properties new file mode 100644 index 0000000..daddbcf --- /dev/null +++ b/VERSION.properties @@ -0,0 +1,2 @@ +client.version=1.2.0 +server.version=1.2.0 diff --git a/build.gradle b/build.gradle index a7642f8..feb869f 100644 --- a/build.gradle +++ b/build.gradle @@ -4,6 +4,13 @@ plugins { id 'com.github.johnrengelman.shadow' version '8.1.1' } +def appVersionProps = new Properties() +def appVersionFile = file('VERSION.properties') +if (appVersionFile.exists()) { + appVersionFile.withInputStream { appVersionProps.load(it) } +} +def serverVersionFromFile = String.valueOf(appVersionProps.getProperty('server.version', '1.1_codex')).trim() + allprojects { tasks.withType(JavaCompile).configureEach { options.encoding = 'UTF-8' @@ -11,7 +18,7 @@ allprojects { } group = 'shine' -version = '1.1_codex' +version = serverVersionFromFile tasks.jar { enabled = false // это что бы не создавала обычный джар, а будет только толстый джар diff --git a/deploy_shine-PWA.sh b/deploy_shine-PWA.sh index 8dd7f5b..6294e5f 100755 --- a/deploy_shine-PWA.sh +++ b/deploy_shine-PWA.sh @@ -5,9 +5,19 @@ SRC_DIR="shine-UI" REMOTE_HOST="root@194.87.0.247" REMOTE_DIR="/home/user/docker/caddyFile/sites/shine-UI" BUILD_VERSION="$(date -u +%Y%m%d%H%M%S)" +VERSION_FILE="VERSION.properties" export BUILD_VERSION TMP_DIR="$(mktemp -d)" +CLIENT_VERSION="dev" +if [[ -f "$VERSION_FILE" ]]; then + CLIENT_VERSION="$(sed -n "s/^client\\.version[[:space:]]*=[[:space:]]*//p" "$VERSION_FILE" | head -n 1 | tr -d '\r' | xargs)" + if [[ -z "$CLIENT_VERSION" ]]; then + CLIENT_VERSION="dev" + fi +fi +export CLIENT_VERSION + cleanup() { rm -rf "$TMP_DIR" } @@ -28,6 +38,7 @@ if [[ ! -f "$INDEX_FILE" ]]; then fi perl -0pi -e 's/window\.__SHINE_BUILD_HASH__\s*=\s*'\''[^'\'']*'\'';/window.__SHINE_BUILD_HASH__ = '\''$ENV{BUILD_VERSION}'\'';/' "$INDEX_FILE" +perl -0pi -e 's/window\.__SHINE_CLIENT_VERSION__\s*=\s*'\''[^'\'']*'\'';/window.__SHINE_CLIENT_VERSION__ = '\''$ENV{CLIENT_VERSION}'\'';/' "$INDEX_FILE" echo "==> Checking SSH connectivity to $REMOTE_HOST" ssh -o BatchMode=yes -o ConnectTimeout=10 "$REMOTE_HOST" "echo SSH OK" >/dev/null diff --git a/shine-UI/index.html b/shine-UI/index.html index bd9d866..1536983 100644 --- a/shine-UI/index.html +++ b/shine-UI/index.html @@ -7,6 +7,7 @@