7

我正在使用 ANT 构建我的应用程序,并且正在检查我的代码是否存在任何Findbugs违规。

现在,我的目标是在我的代码包含特定的 findbug 违规时停止构建。

这可能使用 ANT 和 Findbugs 吗?

注意最好不要写入任何自定义类。

4

2 回答 2

4

使用findbugs 任务的 warningsProperty 属性为任何警告设置属性:

<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>
于 2012-05-21T14:29:16.570 回答
2

另一种想法(并且值得努力)是将Sonar集成到您的ANT 构建过程中。

Sonar 集成了 Findbugs(以及 checkstyle 和 PMD),您可以使用它的构建断路器插件集中配置它以使构建失败,使其不符合任何标准。看:

如果违反声纳阈值,我如何让 Hudson/Jenkins 失败?

于 2012-05-21T17:12:16.710 回答