1

コンパイルされたコード検査にFindbugsを使用している場合、単一の検出器または検出器のカテゴリの結果に基づいてビルドを失敗させることは可能ですか?

たとえば、nullポインタ関連の検出(このリストの「NP」のプレフィックス)がないことを確認したいと思います。同様に、ループの状況ではないので、本当に待つ必要はありません。とは言うものの、国際化の検出に基づくビルドは、アプリケーションにとってすぐには重要ではないため、必ずしも失敗したくはありません。

望ましい最終状態は、IDEレベル(EclipseおよびNetbeans)からリリースレベル(ビルドはCruiseControlを使用して生成されます)までのさまざまな開発フェーズに合わせて調整できるプロセスです。

注:EclipseとNetbeansの両方に同様の検出方法が組み込まれていることは承知していますが、これはFindBugs固有の質問です。

4

1 に答える 1

2

Antタスクセクションを使用したFindBugsから:

includeFilter

オプションの属性。報告されるバグを指定するフィルターのファイル名を指定します。第8章「ファイルのフィルター」を参照してください。

第8章から:

ただし、フィルターを使用して、具体的に報告するバグインスタンスを選択することもできます。

$ findbugs -textui -include myIncludeFilter.xml myApp.jar

  1. 略語を指定して、すべてのクラスの特定のテストに一致させます。
 <Match>
     <Bug code="DE,UrF,SIC" />
 </Match></pre>

だから私は次のようなものを想定します:

<Match>
    <Bug code="Wa,NP" />
</Match>

インクルードフィルターと

<findbugs includeFilter="path/to/includefilter.xml"...

あなたが探しているものになります。

path/to /includeFilterまたはexcludeFilter)は、別のプロパティの値に基づいて設定されるプロパティである可能性があります。デフォルトではdev、通常のビルド、testCIビルド、およびdeployデプロイメントビルドのようになり、表示するまたは表示しない特定の警告を指定できます。各段階で見ることができます。

お役に立てば幸いです。

于 2010-11-19T16:48:14.617 に答える