2014-01-08 97 views
0

我正在使用Ant並希望爲所有包,源等啓用checkstyle。理想情況下,它會像在我的現有構建目標上添加對checkstyle的依賴關係一樣簡單,但由於違規而破壞構建。我不想使用評論風格禁用,因爲這意味着對源文件進行更改。checkstyle禁用特定檢查

,並且無效我想要做的是檢查的具體類型(如結尾的空白,由於數百萬違反現有代碼庫線)

是否有配置CheckStyle的做到這一點的方法嗎?

回答

0

您可以通過在運行Checkstyle Ant task時指定的Checkstyle配置文件中添加或刪除它們來啓用和禁用檢查。 Checkstyle完全運行配置XML中存在的檢查(例如,Sun Checks)。

這是可以禁用檢查是存在於配置:

<module name="EmptyBlock"> 
    <property name="enabled" value="false" /> <!-- won't work --> 
</module> 

它也不可能告訴Checkstyle的運行「的所有檢查,除了EmptyBlock」,因爲有沒有「所有檢查」這樣的事情 - 可用檢查集完全取決於配置XML。然而,Checkstyle工具可能是一個很好的補充,支持如上所示的檢查的禁用,因爲這會讓不使用配置GUI的人員更容易。

如果您不希望Checkstyle衝突失敗,請將Checkstyle Ant任務的failOnViolation參數設置爲false。您還可以使用maxWarningsmaxErrors參數來設置構建應該中斷之前允許容忍的警告或錯誤的閾值。

哪些違規被計爲錯誤,哪些作爲警告取決於您指定的Checkstyle配置(docs)中單個檢查的severity屬性。默認的嚴重程度是'警告'。

+0

謝謝,我想那時我對配置的工作方式感到困惑。具體來說,將指定 <屬性名=「嚴重性」值=「警告」 /> '意味着CheckStyle的將只有3檢查運行,還是意味着CheckStyle的將運行默認所有啓用檢查,但對於3列出如果指定了xml中的任何配置值,請使用它們? (例如警告嚴重性) – Lim

+0

在您的示例中,它只會運行您指定的檢查:三項檢查。 '警告'是默認的嚴重程度。 –

+0

是的,我也這麼認爲。這真的很不幸,因爲運行_alll_會很好,但是通過說'' – Lim