975 B
975 B
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等约束可挂在约定插件体系里统一执行。