7

我遵循了 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”。

4

1 回答 1

6

为了将来参考,Spotless 的 GitHub 问题是询问 Spotless 的最佳场所。将所有内容保存在一个地方。

Spotless 的预期行为是让您知道spotlessCheck. 然后你spotlessApply手动运行自己。

用另一种方式做的问题是你永远不会知道一个错误的提交。如果我提交格式错误的代码,CI 服务器将使用 修复格式spotlessApply,然后确认格式已修复spotlessCheck,并说“这个代码很好!” 当实际上有人以错误的格式提交了某些内容时。

如果你仍然想要你想要的,你可以像这样完成它:

afterEvaluate {
    tasks.getByName('spotlessCheck').dependsOn(tasks.getByName('spotlessApply'))
}
于 2016-11-04T23:48:28.327 回答