release(cw-elevator): v2.0.0 发布说明、升级文档与发布脚本

- 增加电梯应用 v2.0.0 技术/甲方/升级计划说明
- 增加 release-cw-elevator-application.sh 与 releases 忽略 JAR
- 发布包目录含 ddl 与文档副本(JAR 由本地构建,不提交)

Made-with: Cursor

Former-commit-id: 3939231809c424041419f38be69db99edaef55f4
This commit is contained in:
反编译工作区
2026-04-27 14:10:41 +08:00
parent 0c56a3e599
commit be7a8e9d89
12 changed files with 687 additions and 0 deletions
+89
View File
@@ -0,0 +1,89 @@
#!/usr/bin/env bash
# 构建 cw-elevator-application 指定版本发布包,并输出到 maven 模块下 releases/<version>/。
# 用法:在仓库根执行 ./scripts/release-cw-elevator-application.sh [版本号]
# 默认版本与根 POM 中 elevator.release.finalName 后缀一致(当前 2.0.0)。
set -euo pipefail
ROOT="$(cd "$(dirname "$0")/.." && pwd)"
MAVEN_ROOT="${ROOT}/maven-cw-elevator-application"
REL_VER="${1:-2.0.0}"
JAR_NAME="cw-elevator-application-${REL_VER}.jar"
OUT_DIR="${MAVEN_ROOT}/releases/v${REL_VER}"
JAVA_HOME="${JAVA_HOME:-/usr/lib/jvm/java-8-openjdk-amd64}"
export JAVA_HOME
export PATH="${JAVA_HOME}/bin:${PATH}"
if ! java -version 2>&1 | grep -q 'version "1\.8\.'; then
echo "ERROR: 需要 JDK 8JAVA_HOME=${JAVA_HOME})。当前:" >&2
java -version >&2 || true
exit 1
fi
mkdir -p "${OUT_DIR}"
echo "==> Set reactor version to ${REL_VER}"
(cd "${MAVEN_ROOT}" && mvn -q org.codehaus.mojo:versions-maven-plugin:2.16.2:set \
-DnewVersion="${REL_VER}" -DprocessAllModules=true -DgenerateBackupPoms=false)
echo "==> Package starter (fat jar)"
(cd "${MAVEN_ROOT}" && mvn -q -pl cw-elevator-application-starter -am package -DskipTests)
SRC_JAR="${MAVEN_ROOT}/cw-elevator-application-starter/target/${JAR_NAME}"
if [[ ! -f "${SRC_JAR}" ]]; then
echo "ERROR: 未找到 ${SRC_JAR}" >&2
exit 1
fi
echo "==> Copy artifacts to ${OUT_DIR}"
install -m0644 "${SRC_JAR}" "${OUT_DIR}/${JAR_NAME}"
DDL_SRC="${ROOT}/docs/sql/tenant_visitor_floor_policy.sql"
DDL_DIR="${OUT_DIR}/ddl"
mkdir -p "${DDL_DIR}"
if [[ -f "${DDL_SRC}" ]]; then
install -m0644 "${DDL_SRC}" "${DDL_DIR}/tenant_visitor_floor_policy.sql"
else
echo "WARN: 未找到 ${DDL_SRC},发布包未含 DDL" >&2
fi
UPGRADE_SRC="${ROOT}/docs/build/cw-elevator-application-v${REL_VER}-版本升级说明书.md"
if [[ -f "${UPGRADE_SRC}" ]]; then
install -m0644 "${UPGRADE_SRC}" "${OUT_DIR}/版本升级说明书.md"
else
echo "WARN: 未找到 ${UPGRADE_SRC},跳过 版本升级说明书.md" >&2
fi
INDEX_SRC="${ROOT}/docs/build/cw-elevator-application-v${REL_VER}-发布说明.md"
if [[ -f "${INDEX_SRC}" ]]; then
install -m0644 "${INDEX_SRC}" "${OUT_DIR}/发布说明.md"
fi
CLIENT_SRC="${ROOT}/docs/build/cw-elevator-application-v${REL_VER}-甲方版本升级说明.md"
if [[ -f "${CLIENT_SRC}" ]]; then
install -m0644 "${CLIENT_SRC}" "${OUT_DIR}/甲方版本升级说明.md"
fi
PLAN_SRC="${ROOT}/docs/build/cw-elevator-application-v${REL_VER}-升级计划.md"
if [[ -f "${PLAN_SRC}" ]]; then
install -m0644 "${PLAN_SRC}" "${OUT_DIR}/升级计划.md"
fi
{
echo "artifact=${JAR_NAME}"
echo "directory=${OUT_DIR}"
echo "built_at=$(date -Iseconds 2>/dev/null || date)"
echo "java_home=${JAVA_HOME}"
java -version 2>&1 | sed 's/^/java_version_line=/' || true
echo -n "git_rev="
(cd "${ROOT}" && git rev-parse HEAD 2>/dev/null) || echo "unknown"
echo -n "git_branch="
(cd "${ROOT}" && git rev-parse --abbrev-ref HEAD 2>/dev/null) || echo "unknown"
} > "${OUT_DIR}/BUILD_MANIFEST.txt"
echo "==> Restore reactor version to 2.0-SNAPSHOT"
(cd "${MAVEN_ROOT}" && mvn -q org.codehaus.mojo:versions-maven-plugin:2.16.2:set \
-DnewVersion=2.0-SNAPSHOT -DprocessAllModules=true -DgenerateBackupPoms=false)
echo "==> Done."
ls -la "${OUT_DIR}"