Jenkins Warning Plugin + Ant + Javadoc で警告を集計

環境

という環境で Javadoc が出すエラー/警告を Jenkins Warning Plugin で集計しようとしたら結構大変だったのでメモ。

設定

プリセットされているパーサーだと Ant + Javadoc + 日本語環境 で解析できるものがなかったので、自前でパーサーを定義してやる。

名前:JavaDoc Tool(Ant)
リンク名:Javadoc 警告
推移レポート名:Javadoc 警告
正規表現:

\s*\[javadoc\] (.+):(\d+?): (エラー|警告): (.+)\s*

マッピング スクリプト:

import hudson.plugins.warnings.parser.Warning
import hudson.plugins.analysis.util.model.Priority

String fileName = matcher.group(1)
String lineNumber = matcher.group(2)
String level = matcher.group(3)
String message = matcher.group(4)
Priority priority = (level == "エラー" ? Priority.HIGH : Priority.NORMAL)

return new Warning(fileName, Integer.parseInt(lineNumber), "Dynamic Parser", "Warning", message, priority);

ログメッセージ:(空白)

あとは上で定義したパーサーをビルド後の処理で呼び出せば、こんな感じでグラフが出る。

警告が多い?ちょっと何言っているかわからないですね…。

まとめ

Jenkins Warning Plugin 最高!