docs: harness 工程文档

This commit is contained in:
AndyChen1024
2026-09-03 19:03:35 +08:00
parent 914daa19ac
commit 1b6f6d53ad
11 changed files with 388 additions and 0 deletions

View File

@@ -0,0 +1,23 @@
# ADR 0002:约定插件 + 版本目录作为唯一配置事实源
- **状态**:已接受
- **日期**:2026-09-03
## 背景
多模块项目若在每个模块手写 `android {}` 模板,会出现配置漂移、版本不一致、样板重复。
## 决策
- **约定插件**(`build-logic/`,included build):提供 `mcl.*` 插件,集中编码 compileSdk/minSdk、Java/Kotlin target、Compose、Hilt、Room、Lint、Spotless 等配置。模块只声明插件 + namespace。
- **版本目录**(`gradle/libs.versions.toml`):所有依赖版本唯一事实源,主构建与 build-logic 共用。
## 理由
- 把"严谨性"编码进确定性规则(harness-engineering 的"严谨性转移"原则),而非依赖人工记忆。
- 一个版本改一处,全项目生效。
## 后果
- 新增/调整模块配置需改 build-logic;新增依赖需改版本目录。
- 好处:`verifyArchitecture` 等约束可挂在约定插件体系里统一执行。