Findbugs Filter定義 BugPatternの繊細な挙動


FindbugsFilter ファイルを作成していたところ、
繊細な挙動に遭遇して、バグなのかそういうものなのか迷ったので、
具合を備忘として残します。

BugPattern が認識されない書き方

以下の記載だと、BugPatternは無視され、
Excludeが効かずに記述したパターンに対しての警告が出力されます。

<FindBugsFilter>
    <Match>
        <Bug pattern="URF_UNREAD_PUBLIC_OR_PROTECTED_FIELD" />
        <Bug pattern="UUF_UNUSED_PUBLIC_OR_PROTECTED_FIELD" />
    </Match>
</FindBugsFilter>

BugPattern が認識される書き方 (カンマ区切り)

以下の記載だと、BugPatternが効き、
対象パターンが除外されます。

<FindBugsFilter>
    <Match>
        <Bug pattern="URF_UNREAD_PUBLIC_OR_PROTECTED_FIELD,UUF_UNUSED_PUBLIC_OR_PROTECTED_FIELD" />
    </Match>
</FindBugsFilter>

BugPattern が認識される書き方 (OR使用)

以下の記載だと、BugPatternが効き、
対象パターンが除外されます。

<FindBugsFilter>
    <Match>
        <Or>
            <Bug pattern="URF_UNREAD_PUBLIC_OR_PROTECTED_FIELD" />
            <Bug pattern="UUF_UNUSED_PUBLIC_OR_PROTECTED_FIELD" />            
        </Or>
    </Match>
</FindBugsFilter>


参考サイト


以上です。

コメント