我遵循了 Spotless 插件的自述文件并将以下内容包含到我的 build.gradle 中:
apply plugin: 'java'
spotless {
java {
eclipseFormatFile 'my-eclipse-format.xml'
}
}
当我运行“gradlew build”时,我希望 Spotless a) 使用上述格式自动格式化我的代码; b) 进行检查(即 spotlessJavaCheck)以验证它是否发生。
相反,我只让 b) 部分工作。我如何确保 a) (格式化)在我执行构建步骤时自动发生?我不想明确调用“gradlew spotlessApply build”,而只想调用“gradlew build”。
我尝试添加“build { dependsOn spotlessApply } 但它说“找不到属性 spotlessApply”。
最佳答案
供将来引用,Spotless' GitHub issues是询问 Spotless 的最佳地点。将所有内容保存在一个地方。
Spotless 的预期行为是让您知道 spotlessCheck
存在问题。然后您自己手动运行 spotlessApply
。
用另一种方式做的问题是你永远不会知道错误的提交。如果我提交格式错误的代码,CI 服务器将使用 spotlessApply
修复格式,然后在 spotlessCheck
中确认格式已修复,并说“这段代码很好!”当实际上有人犯了错误的格式时。
如果你仍然想要你想要的,你可以这样完成:
afterEvaluate {
tasks.getByName('spotlessCheck').dependsOn(tasks.getByName('spotlessApply'))
}
关于java - Gradle:一尘不染的任务在需要时不触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40432291/