9

大規模なプロジェクトで Maven と FindBugs を使用しています。FindBugs で優先度の高いエラーが発生た場合、Maven ビルドを失敗させたいと考えています。pom.xml 内で単純なパラメーターを設定してエラーで失敗するようにすることはできますが、優先度の高い警告で失敗する必要があります。どんな提案でも巨大です!

4

1 に答える 1

3

プラグインで使用できる findbugs:check ゴールについては、すでにご存知かと思います。しきい値構成項目を高に設定すると、優先度の高い問題でのみ失敗するように目標が制限されます。

pom.xml の構成スニペットの例を次に示します。

<build>
...
<plugins>
...
<plugin>
  <groupId>org.codehaus.mojo</groupId>
  <artifactId>findbugs-maven-plugin</artifactId>
  <version>2.4.0</version>
  <executions>
    <execution>
      <id>failing-on-high</id>
      <phase>process-test-resources</phase>
      <goals>
        <goal>check</goal>
      </goals>
      <configuration>
        <threshold>High</threshold>
        <onlyAnalyze>com.example.-</onlyAnalyze>
      </configuration>
    </execution>
  </executions>
</plugin>
...
</plugins>
...
</build>

このスニペットでは、分析を「com.example」で始まるパッケージに限定し、しきい値を高に設定し、自動テストの前に実行するように findbugs:check を構成しました。

ビルドの失敗をトリガーする例:

[INFO] --- findbugs-maven-plugin:2.4.0:findbugs (findbugs) @ channels ---
[INFO] Fork Value is true
     [java] Warnings generated: 29
[INFO] Done FindBugs Analysis....
[INFO] 
[INFO] <<< findbugs-maven-plugin:2.4.0:check (failing-on-high) @ channels <<<
[INFO] 
[INFO] --- findbugs-maven-plugin:2.4.0:check (failing-on-high) @ pricing ---
[INFO] BugInstance size is 29
[INFO] Error size is 0
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------

含めることができるその他の構成オプションについては、 http : //mojo.codehaus.org/findbugs-maven-plugin/check-mojo.htmlも参照してください。xmlOutput 構成を使用して、失敗を簡単に報告するために CI サーバーがキャプチャできるように、xml レポートを含めることをお勧めします。

于 2012-05-17T19:14:26.453 に答える