我正在使用ANT构建我的应用程序,我正在检查我的代码是否有任何 Findbugs 违规。
现在,我的目标是在我的代码包含特定的findbug违规时停止构建。
这是否可以使用ANT& FindBugs的?
N.B。最好不要写入任何自定义类。
答案 0 :(得分:4)
使用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>
答案 1 :(得分:2)
另一个想法(值得努力)是将Sonar集成到您的ANT build流程中。
Sonar集成了Findbugs(以及checkstyle和PMD),您可以使用它的构建断路器插件集中配置它以使构建无法通过任何一组标准。参见:
How do I make Hudson/Jenkins fail if Sonar thresholds are breached?