Files
android-client/scripts/verify.sh
AndyChen1024 4eff1f1989
Some checks failed
CI / build (push) Has been cancelled
ci: 验证脚本与 CI workflow
2026-09-03 19:03:35 +08:00

50 lines
1.3 KiB
Bash
Raw Permalink 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
# verify.sh — 确定性验证脚本(harness-engineering)
# 用法:bash scripts/verify.sh
# 任何一步失败即非零退出;所有成功声明以本脚本的新鲜输出为证据。
set -euo pipefail
cd "$(dirname "$0")/.."
echo "==> 1/6 检查必需文件"
required_files=(
"AGENTS.md"
"README.md"
"docs/architecture.md"
"docs/conventions.md"
"docs/testing.md"
"docs/deployment.md"
"docs/progress.md"
"docs/decisions/0001-multi-module-nia.md"
"docs/decisions/0002-convention-plugins-and-version-catalog.md"
"docs/decisions/0003-toolchain-and-versions.md"
"docs/decisions/0004-package-name.md"
"gradle/libs.versions.toml"
"build-logic/convention/build.gradle.kts"
".editorconfig"
)
for f in "${required_files[@]}"; do
if [[ ! -f "$f" ]]; then
echo "缺失必需文件: $f" >&2
exit 1
fi
done
echo " OK"
echo "==> 2/6 spotlessCheck(确定性格式化)"
./gradlew spotlessCheck --console=plain
echo "==> 3/6 单元测试(JVM + Android)"
./gradlew test testDebugUnitTest --console=plain
echo "==> 4/6 构建调试 APK"
./gradlew :app:assembleDebug --console=plain
echo "==> 5/6 架构检查(模块依赖方向)"
./gradlew verifyArchitecture --console=plain
echo "==> 6/6 Android Lint"
./gradlew lintDebug --console=plain
echo "✅ 全部通过"