sss*_*vip 5 java checkstyle gradle
如您所见,checkstyle警告,但这次的构建仍然成功。为什么?我希望失败。请帮忙。
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
Run Code Online (Sandbox Code Playgroud)
```
请参阅img:https://i.stack.imgur.com/7IbRM.jpg
参见checkstyle.xml:https : //i.stack.imgur.com/BE4An.jpg
xxS*_*rdy 14
很抱歉挖坟,但我只是在尝试实现同样的目标时偶然发现了这一点。事实证明,这现在已经实现,但需要一个微小的配置更改。
因此,对于任何未来的冒险在这里找到自己的方式:在您build.gradle的以下内容中:
checkstyle {
ignoreFailures = false
maxWarnings = 0
}
Run Code Online (Sandbox Code Playgroud)
这将导致您的构建因 Checkstyle 错误而失败。
小智 6
checkstyle 违规的默认严重性级别是警告。如果您希望构建失败,请将 checkstyle.xml 配置中的严重性值从警告更改为错误。如果存在违规,任何后续构建现在都将失败。
<property name="severity" value="error"/>
Run Code Online (Sandbox Code Playgroud)
可以通过以下方法来解决错误:
ignoreFailures = false
对于警告,没有可能这样做,请参阅此票证。
从其旧的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")
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
所以答案是:默认情况下这是不可能的,并且仍然有打开的票证。如果您真的想要,可以尝试参与并进行修复,Gradle是开源的,它取决于开发人员:)
| 归档时间: |
|
| 查看次数: |
3031 次 |
| 最近记录: |