我关注了Spotless插件的自述文件,并将以下内容包含在我的build.gradle中:
apply plugin: 'java'
spotless {
java {
eclipseFormatFile 'my-eclipse-format.xml'
}
}
当我运行" gradlew build"时,我希望Spotless能够a)使用上述格式自动格式化我的代码; b)做一个检查(即spotlessJavaCheck)来验证它的发生。
相反,我只得到b)部分工作。当我执行构建步骤时,如何确保a)(格式化)自动发生?我不想明确地打电话给#34; gradlew spotlessApply build"但只有" gradlew build"。
我尝试添加"构建{dependsOn spotlessApply},但它说"找不到属性spotlessApply"。
答案 0 :(得分:2)
为了将来参考,Spotless' GitHub issues是询问Spotless的最佳地点。把它放在一个地方。
Spotless'的预期行为是让您知道spotlessCheck
存在问题。然后手动运行spotlessApply
。
以另一种方式执行此操作的问题是您永远不会知道错误的提交。如果我提交格式错误的代码,CI服务器将使用spotlessApply
修复格式,而不是确认格式在spotlessCheck
中修复,并说“此代码很好!”实际上有人犯了错误格式的东西。
如果你仍然想要你想要的东西,你可以这样做:
afterEvaluate {
tasks.getByName('spotlessCheck').dependsOn(tasks.getByName('spotlessApply'))
}