Files
starRiverProperty/scripts/check_maven_formatter_validate.sh
反编译工作区 dee355b4a7 chore: 工作区反编译与 Maven/文档/脚本同步到发布分支
- artifacts/decompiled 树与相关源码变更
- maven-cw-elevator-application 业务 docs 与 package-info
- scripts 下 formatter 校验与辅助脚本
- 其他子工程/接口与发布线一并纳入版本控制

Made-with: Cursor

Former-commit-id: e102e8cab64e575bcd23c9a66a598aa1892bb492
2026-04-25 09:35:35 +08:00

41 lines
1.4 KiB
Bash
Executable File

#!/usr/bin/env bash
# Per maven-* reactor: run formatter-maven-plugin validate (Alibaba P3C Eclipse style).
# Usage: from repo root, with JDK 8 on PATH: ./scripts/check_maven_formatter_validate.sh
# Exit 1 if any project fails.
set -euo pipefail
REPO_ROOT="$(cd "$(dirname "$0")/.." && pwd)"
export JAVA_HOME="${JAVA_HOME:-/usr/lib/jvm/java-8-openjdk-amd64}"
export PATH="${JAVA_HOME}/bin:${PATH}"
CONFIG="${REPO_ROOT}/docs/style/alibaba-eclipse-codestyle.xml"
# 2.17+ 需 Java 11 跑插件,2.24+ 需 Java 17;与项目 JDK8 一致时用 2.16.x
FMT_VER="2.16.0"
FMT_GOAL="net.revelc.code.formatter:formatter-maven-plugin:${FMT_VER}:validate"
FAIL=0
echo "Using JAVA: $(command -v java) ($(java -version 2>&1 | head -1))"
echo "Config: ${CONFIG}"
echo "-----"
for d in "${REPO_ROOT}"/maven-*/; do
[ -d "$d" ] || continue
name="$(basename "$d")"
if [ ! -f "${d}pom.xml" ]; then
echo "[SKIP] ${name} (no pom.xml)"
continue
fi
echo ">>> ${name}"
if (cd "$d" && mvn -q -DskipTests \
-DconfigFile="${CONFIG}" -DlineEnding=LF -Dproject.build.sourceEncoding=UTF-8 \
${FMT_GOAL} 2>&1); then
echo " [OK] ${name}"
else
echo " [FAIL] ${name}"
FAIL=1
fi
echo "-----"
done
if [ "$FAIL" -ne 0 ]; then
echo "One or more projects failed formatter:validate. Run formatter:format to fix, then re-validate."
exit 1
fi
echo "All maven-* projects passed formatter:validate."
exit 0