2016-12-30 68 views
2

您可以看到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 

```

看到IMG:https://i.stack.imgur.com/7IbRM.jpg

看到checkstyle.xml:https://i.stack.imgur.com/BE4An.jpg

+0

您能否提供您正在使用的checkstyle配置? –

+0

[https://i.stack.imgur.com/BE4An.jpg](https://i.stack.imgur.com/BE4An.jpg)謝謝 – sssvip

回答

3

有可能通過做錯誤:

ignoreFailures = false

對於警告那麼是不可能的要做到這一點,看this票。

從舊吉拉和新的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是開源的,它取決於開發人員:)

+0

我試過了,但它仍然會成功。 – sssvip

+0

試過什麼? ignoreFailures僅適用於ERRORS,我在警告中添加了解決方法,但是它來自github中的註釋,也許你應該看一下。由於事實上,這是不可能的:) – Hrabosch

+0

沒問題:)我沒有嘗試他們的解決方法,也許那裏的傢伙將能夠幫助你解決他們的問題:) – Hrabosch

3

checkstyle違例的默認嚴重級別是警告。如果您希望構建失敗,請將checkstyle.xml配置中的嚴重程度值從警告更改爲錯誤。如果存在違規,任何後續構建都會失敗。

<property name="severity" value="error"/>