我正在使用ANT構建我的應用程序,我正在檢查我的代碼是否有任何Findbugs違規。Findbugs&Ant - 停止構建特定違規
現在,我的目標是當我的代碼包含特定的findbug違例時停止構建。
這可能使用ANT & Findbugs?
N.B.最好不要寫入任何自定義類。
我正在使用ANT構建我的應用程序,我正在檢查我的代碼是否有任何Findbugs違規。Findbugs&Ant - 停止構建特定違規
現在,我的目標是當我的代碼包含特定的findbug違例時停止構建。
這可能使用ANT & Findbugs?
N.B.最好不要寫入任何自定義類。
使用warningsProperty attribute on your findbugs task設置一個屬性的任何警告:
<findbugs ... warningsProperty="findbugsFailure"/>
,並且如果警告信息產生失敗task
:
<fail if="findbugsFailure">
例如:
<property name="findbugs.home" value="/export/home/daveho/work/findbugs" />
<target name="findbugs" depends="jar">
<findbugs home="${findbugs.home}"
output="xml"
outputFile="bcel-fb.xml"
warningsProperty="findbugsFailure">
<auxClasspath path="${basedir}/lib/Regex.jar" />
<sourcePath path="${basedir}/src/java" />
<class location="${basedir}/bin/bcel.jar" />
</findbugs>
<fail if="findbugsFailure">
</target>
另一種想法(並且值得努力)將集成Sonar進入您的ANT build過程。
Sonar集成了Findbugs(以及checkstyle和PMD),您可以對它進行集中配置,使其使用構建斷路器插件不符合任何標準集。請參閱:
How do I make Hudson/Jenkins fail if Sonar thresholds are breached?
您可能希望FindBugs的分成兩分,一個警告,應停止建設,以及一個用於不應該警告。 –
你可以請提供任何例子,因爲我是ANT的初學者... – Manikandan
另外請注意,如果「setExeitCode」設置爲「true」(這是默認值),那麼warningsProperty似乎只能正確設置。 – olenz