gradle checkstyle 只是输出warm,但是构建成功
gradle checkstyle just output warn, but build sucess
可以看到checkstyle warn,但是这次的构建还是成功的。为什么?我希望它失败。请帮忙
D:\MyData\xxxx>gradle clean checkstyleMain
:clean
:compileJava
:processResources
:classes
:checkstyleMain
[ant:checkstyle] [WARN] D:\MyData\xxxx.java:218:18: Member name 'Aource'
must match pattern '^[a-z][a-z0-9][a-zA-Z0-9]*$'. [MemberName]
BUILD SUCCESSFUL
Total time: 4.966 secs
```
查看图片:https://i.stack.imgur.com/7IbRM.jpg
参见 checkstyle.xml:https://i.stack.imgur.com/BE4An.jpg
编辑:因为我写了那个答案,所以有更好的解决方案 -> 使用 maxErrors=0
作为 xxSwordy 提到这里 .
这是公关:https://github.com/gradle/gradle/pull/3901
可以通过以下方式解决错误:
ignoreFailures = false
对于警告,不可能这样做,请参阅[this][1] ticket。
从他们的旧 Jira 和新 GitHub 问题评论中,有一种解决方法:
tasks.withType(Checkstyle).each { checkstyleTask ->
checkstyleTask.doLast {
reports.all { report ->
def outputFile = report.destination
if (outputFile.exists() && outputFile.text.contains("<error ")) {
throw new GradleException("There were checkstyle warnings! For more info check $outputFile")
}
}
}
}
所以答案是:默认情况下这是不可能的,并且仍然有打开的票。如果你真的想要它,你可以尝试参与并尝试修复它, Gradle 是开源的,它取决于开发人员:)
[1]: https://github.com/gradle/gradle/issues/881
checkstyle 违规的默认严重级别是警告。如果您希望构建失败,请在 checkstyle.xml 配置中将严重性值从警告更改为错误。如果存在违规,任何后续构建现在都将失败。
<property name="severity" value="error"/>
抱歉 grave-digging 但我只是在尝试实现相同目标时偶然发现了这一点。原来这已经实现了,但是需要一个微小的配置更改。
所以对于任何未来的冒险在这里找到他们的方式:在你的 build.gradle
到以下内容:
checkstyle {
ignoreFailures = false
maxWarnings = 0
}
这将导致您的构建因 Checkstyle 错误而失败。
可以看到checkstyle warn,但是这次的构建还是成功的。为什么?我希望它失败。请帮忙
D:\MyData\xxxx>gradle clean checkstyleMain
:clean
:compileJava
:processResources
:classes
:checkstyleMain
[ant:checkstyle] [WARN] D:\MyData\xxxx.java:218:18: Member name 'Aource'
must match pattern '^[a-z][a-z0-9][a-zA-Z0-9]*$'. [MemberName]
BUILD SUCCESSFUL
Total time: 4.966 secs
```
查看图片:https://i.stack.imgur.com/7IbRM.jpg
参见 checkstyle.xml:https://i.stack.imgur.com/BE4An.jpg
编辑:因为我写了那个答案,所以有更好的解决方案 -> 使用 maxErrors=0
作为 xxSwordy 提到这里
这是公关:https://github.com/gradle/gradle/pull/3901
可以通过以下方式解决错误:
ignoreFailures = false
对于警告,不可能这样做,请参阅[this][1] ticket。
从他们的旧 Jira 和新 GitHub 问题评论中,有一种解决方法:
tasks.withType(Checkstyle).each { checkstyleTask ->
checkstyleTask.doLast {
reports.all { report ->
def outputFile = report.destination
if (outputFile.exists() && outputFile.text.contains("<error ")) {
throw new GradleException("There were checkstyle warnings! For more info check $outputFile")
}
}
}
}
所以答案是:默认情况下这是不可能的,并且仍然有打开的票。如果你真的想要它,你可以尝试参与并尝试修复它, Gradle 是开源的,它取决于开发人员:) [1]: https://github.com/gradle/gradle/issues/881
checkstyle 违规的默认严重级别是警告。如果您希望构建失败,请在 checkstyle.xml 配置中将严重性值从警告更改为错误。如果存在违规,任何后续构建现在都将失败。
<property name="severity" value="error"/>
抱歉 grave-digging 但我只是在尝试实现相同目标时偶然发现了这一点。原来这已经实现了,但是需要一个微小的配置更改。
所以对于任何未来的冒险在这里找到他们的方式:在你的 build.gradle
到以下内容:
checkstyle {
ignoreFailures = false
maxWarnings = 0
}
这将导致您的构建因 Checkstyle 错误而失败。