TITLE:AntでFindBugsを実行する

AntでFindBugsを実行する

#adsense2

編集者:Terai Atsuhiro
作成日:2012-01-19
更新日:2018-10-30 (火) 16:42:34

概要

AntからFindBugsを実行します。

サンプルターゲット

<condition property="have.findbugs">
  <and>
    <available classname="edu.umd.cs.findbugs.anttask.FindBugsTask" />
    <available file="${env.FINDBUGS_HOME}" />
  </and>
</condition>
<target name="findbugs" depends="compile" if="have.findbugs">
  <taskdef name="findbugs" classname="edu.umd.cs.findbugs.anttask.FindBugsTask" />
  <mkdir dir="${build.reports}" />
  <findbugs home="${env.FINDBUGS_HOME}" effort="max"
          output="xml" outputFile="${build.reports}/findbugs.xml" >
    <auxClasspath refid="project.class.path" />
    <sourcePath path="${src.dir}" />
    <class location="${build.dest}" />
  </findbugs>
</target>

解説

  1. FindBugs™ - Find Bugs in Java Programsからダウンロードしたfindbugs-2.0.0.zipを適当な場所に展開し、環境変数FINDBUGS_HOMEに設定
    • 変数名: FINDBUGS_HOME
    • 変数値: C:\Applications\findbugs-2.0.0
  2. %FINDBUGS_HOME%\lib\findbugs-ant.jar を、%ANT_HOME%\lib にコピー
  3. ant findbugs で、findbugs.xml を生成し、jenkinsのFindBugsプラグインや、%FINDBUGS_HOME%\bin\findbugs.bat でGUIで読み込む

FindBugs2.0でParseException: Unparseable date

  • FindBugs2.0 で、以下のような java.text.ParseException: Unparseable date: "12/20/2011 09:17 PM EST" が発生する場合
    • Windows 7 日本語環境?
      [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:357)
      [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™ - Find Bugs in Java Programsから findbugs-2.0.0-source.zip をダウンロードして展開
  • findbugs-2.0.0\src\java\edu\umd\cs\findbugs\updates\UpdateChecker.java を変更
    public class UpdateChecker {
    
        //public static final String PLUGIN_RELEASE_DATE = "MM/dd/yyyy hh:mm aa z";
        public static final String PLUGIN_RELEASE_DATE = "MM/dd/yyyy HH:mm z";
    
  • JDK 1.6.0_30 などでコンパイル
    > cd findbugs-2.0.0
    > set JAVA_HOME=C:\Program Files\Java\jdk1.6.0_30
    > ant.bat
  • findbugs-2.0.0\lib に生成された以下のjarファイルを %FINDBUGS_HOME%\lib\ に上書きコピー
    • annotations.jar
    • findbugs.jar
    • findbugs-ant.jar

参考リンク

コメント