ant taskでfindbugsを実行する際のRANK設定

findbugsをantで実行する際にeclipse pluginで設定している「Minimum rank to report」の値と合わせる。

findbugs-2.0.0をダウンロード
http://prdownloads.sourceforge.net/findbugs/findbugs-2.0.0.tar.gz?download

build.xmlのfinndbugs定義に「maxRank」を1から20の間で設定する。
(eclipse pluginの初期値は15であったため、15を設定)

<findbugs home="${findbugs.lib.dir}" output="xml"
outputFile="${report.findbugs.dir}/findbugs.xml" maxRank="15">

実行すると結果には影響がないがエラーになった。

findbugs:
    [findbugs] Executing findbugs from ant task
    [findbugs] Running FindBugs...
    [findbugs] java.text.ParseException: Unparseable date: "12/20/2011
09:17 PM EST"
    [findbugs] 	at java.text.DateFormat.parse(DateFormat.java:337)
    [findbugs] 	at edu.umd.cs.findbugs.Version.<clinit>(Version.java:175)
    [findbugs] 	at
edu.umd.cs.findbugs.PluginLoader.init(PluginLoader.java:595)
    [findbugs] 	at
edu.umd.cs.findbugs.PluginLoader.<init>(PluginLoader.java:280)
    [findbugs] 	at
edu.umd.cs.findbugs.PluginLoader.loadCorePlugin(PluginLoader.java:1304)
    [findbugs] 	at
edu.umd.cs.findbugs.PluginLoader.loadInitialPlugins(PluginLoader.java:1259)
    [findbugs] 	at
edu.umd.cs.findbugs.PluginLoader.<clinit>(PluginLoader.java:146)
    [findbugs] 	at
edu.umd.cs.findbugs.DetectorFactoryCollection.getCoreResource(DetectorFactoryCollection.java:360)
    [findbugs] 	at
edu.umd.cs.findbugs.SystemProperties.loadPropertiesFromConfigFile(SystemProperties.java:72)
    [findbugs] 	at
edu.umd.cs.findbugs.SystemProperties.<clinit>(SystemProperties.java:55)
    [findbugs] 	at edu.umd.cs.findbugs.FindBugs2.<clinit>(FindBugs2.java:87)
    [findbugs] Warnings generated: 56
    [findbugs] Calculating exit code...
    [findbugs] Setting 'bugs found' flag (1)
    [findbugs] Exit code set to: 1
    [findbugs] Java Result: 1
    [findbugs] Output saved to C:\eclipse\findbugs/findbugs.xml
BUILD SUCCESSFUL
Total time: 31 seconds

エラーを消すため、最新のソースからjarファイルを作成して入れ替え。

エクスポート。

svn export http://findbugs.googlecode.com/svn/trunk/findbugs

findbugs.jarを生成する。

c:\apache-ant\1.8.1\bin\ant jars

lib配下にfindbugs.jarができるのでそれを使用する。