Files
starRiverProperty/scripts/release-cw-elevator-application.sh
T
反编译工作区 be7a8e9d89 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
2026-04-27 14:10:41 +08:00

90 lines
3.2 KiB
Bash
Executable File
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
#!/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}"