我遵循了Spotless插件的自述文件,并将以下内容包含在我的build.gradle中:
apply plugin: 'java'
spotless {
java {
eclipseFormatFile 'my-eclipse-format.xml'
}
}
当我运行“gradlew build”时,我希望Spotless能够:a)使用上述格式自动格式化我的代码; b)进行检查(即spotlessJavaCheck)以验证它是否发生。
相反,我只能使b)部分起作用。执行构建步骤时,如何确保a)(格式化)自动发生?我不想显式地称为“gradlew spotlessApply构建”,而仅是“gradlew构建”。
我尝试添加“build {DependOn spotlessApply},但显示“无法找到属性spotlessApply”。
最佳答案
为了将来引用,Spotless' GitHub issues是询问Spotless的最佳场所。将所有内容都放在一个地方。
一尘不染的预期行为是让您知道spotlessCheck
存在问题。然后,您自己手动运行spotlessApply
。
这样做的问题是您永远不会知道错误的提交。如果我提交了格式错误的代码,则CI服务器将使用spotlessApply
修复该格式,然后确认该格式已在spotlessCheck
中修复,然后说“此代码不错!”。实际上是有人提交了格式错误的内容。
如果您仍然想要自己想要的东西,则可以这样完成:
afterEvaluate {
tasks.getByName('spotlessCheck').dependsOn(tasks.getByName('spotlessApply'))
}