我遵循了Spotless plugin的自述文件,并将以下内容包含到我的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“。
发布于 2016-11-05 07:48:28
对于将来的参考,Spotless' GitHub issues是询问Spotless的最好地方。把所有东西都放在一个地方。
Spotless的本意是让你知道spotlessCheck
出了问题。然后您自己手动运行spotlessApply
。
另一种方式的问题是,你永远不会知道一个糟糕的提交。如果我提交了格式错误的代码,CI服务器将使用spotlessApply
修复该格式,然后确认该格式已在spotlessCheck
中修复,并说“此代码很好!”当有人提交了一些格式错误的东西时。
如果你仍然想要你想要的东西,你可以这样完成它:
afterEvaluate {
tasks.getByName('spotlessCheck').dependsOn(tasks.getByName('spotlessApply'))
}
https://stackoverflow.com/questions/40432291
复制相似问题