FindBugsのフィルタファイルを作る
FindBugsでどのルール(ディテクタ?)を採用するかを指定する場合、Eclipeの設定画面で行う。
ただ、これだとMavenでFindBugsを動かしたときに、同じ設定で動かすことができない。
このような場合に、フィルタファイルというものを作成すると
同じ設定でFindBugsを動作させることができる。
ちなみに、このファイルの作成って手作業っぽいんだよなー。
めんどい・・・。
作り方
マニュアルに書いてあるとーりにXMLファイルを作成する。
たとえば、以下のような感じ。
<FindBugsFilter> <Match> <Bug pattern="SQL_BAD_RESULTSET_ACCESS,SQL_BAD_PREPARED_STATEMENT_ACCESS,・・・" /> </Match> </FindBugsFilter>
Bugタグには利用したいルールのBugPatternかBugCodeを指定できる。
(BugCodeを指定する場合は、code属性を使う)
とはいえ、BugPatternとかBugCodeなんて普通はわからないので、
これなんかを使うと便利かも。
# このツールで、BugTypeと出力される列がBugPattern
あとは、パッケージやクラスによってルールを分けることもできるらしい。
Mavenでの指定方法
マニュアルまんまなわけですが、こんな感じ。
<plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>findbugs-maven-plugin</artifactId> <configuration> <threshold>Low</threshold> <effort>Max</effort> <includeFilterFile>FindBugsFilter.xml</includeFilterFile> </configuration> </plugin>