构建质量门禁 (Spotless)
代码审查(CR)不应该浪费在纠正“括号位置”、“空格缩进”这种琐事上。Spotless 允许你通过 Gradle 强制执行统一的代码格式。
1. 添加插件
kotlin
plugins {
id("com.diffplug.spotless") version "6.25.0"
}2. 配置规则 (Kotlin & XML)
kotlin
spotless {
kotlin {
target("**/*.kt")
ktlint("1.0.1") // 使用官方 ktlint
trimTrailingWhitespace()
endWithNewline()
}
format("xml") {
target("**/*.xml")
indentWithSpaces(4)
trimTrailingWhitespace()
}
}3. 常用命令
./gradlew spotlessCheck: 检查代码是否符合规范(CI 必备)。./gradlew spotlessApply: 魔法命令。自动修复所有格式问题。
4. 挂载到 Git Hook (进阶)
你可以编写一个简单的 Gradle 任务,在每次 git commit 前自动运行 spotlessApply。
kotlin
tasks.register("installGitHooks", Copy::class) {
from(file("scripts/pre-commit"))
into(file(".git/hooks"))
}团队协作建议
将 spotlessCheck 设为 CI 的第一步。如果代码格式不对,直接拒绝合并,迫使开发者在本地运行 spotlessApply。