桜技録

🐈🐈🐈🐈🐘

SpotBugs

SpotBugsで独自のバグ検出ルールを実装する

独自ルールでバグを検出するSpotBugsプラグインの作り方を調べたメモ。 使ったソースコードはこちら。 github.com プラグインを実装するのに必要なものは次の3つ。 Detector または Detector2 の実装クラス findbugs.xml messages.xml 最小構成での実装例 手…

SpotBugsでGeneratedアノテーションがついたクラスやメソッドを除外できるようになる

アノテーション・プロセッサ等のツールで自動生成したコードは静的コード解析の対象から外したいもの。 従来SpotBugsの利用者はパッケージやクラスに関する 除外フィルタ の機能を使ってこれに対応してきた。 <FindBugsFilter> <Match> <Package name="com.example.hoge.gen"/> </Match> <Match> <Class name="~.*Entity"/> </Match> </FindBugsFilter> しかしこの手法では自動生成する成果物…