【Ant】 Findbugs を Ant で実行するには

  環境

OS      : Windows10
Eclipse : Mars Release (4.5.0)
Ant     : Eclpse付属

 

  設定

[1] 以下のサイトから、Findbugsをダウンロードする

# 今回は、「findbugs-3.0.1.zip」
http://sourceforge.net/projects/findbugs/files/findbugs/
[2] zipを解凍し、libフォルダを対象のプロジェクト配下に配置する

[例] プロジェクト名「SampleJava」

SampleJava
 + src
 + libs
    + findbugs
        + lib <- 今回はここに置いた
           + findbugs-ant.jar
           + findbugs.jar
           + ・・・略・・・

[3] build.xmlを書く(後はそれを実行するだけ)

  build.xml

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<project basedir="." default="findbugs" name="SampleJava">
  <property environment="env"/>
  <property name="compile.dest" location="${basedir}/class"/>
  <property name="findbugs.dir" value="${basedir}/libs/findbugs"/>
  <property name="report.dir" value="${basedir}/report"/>
  <path id="SampleJava.classpath">
    <pathelement location="bin"/>
    <path refid="JUnit 4.libraryclasspath"/>
  </path>
  <target name="init" description="初期化">
    <property name="class.path" location="${compile.dest}" />
    <delete dir="${class.path}"/>
    <mkdir dir="${class.path}"/>
    <delete dir="${report.dir}"/>
    <mkdir dir="${report.dir}"/>
  </target>
  <target name="compile" depends="init" description="Javaコンパイル">
    <javac srcdir="./src" destdir="${compile.dest}" includeantruntime="false" />
  </target>
  <target name="findbugs" description="注目はここ">
      <mkdir dir="${report.dir}"/>
      <taskdef name="findbugs"
          classname="edu.umd.cs.findbugs.anttask.FindBugsTask"
          classpath="${findbugs.dir}/lib/findbugs-ant.jar">
      </taskdef>
      <findbugs home="${findbugs.dir}"
                output="xml"
                outputFile="${report.dir}/findbugs_report.xml" >
          <class location="${compile.dest}" />
      </findbugs>
    </target>
</project>

 

  実行

* 今回は、Eclipse上でantビルドする
[1] build.xmlを右クリックし、「Run As]-[3 Ant Build]を選択

# [2]は、任意であるがこれをやらないと、文字化けするので。。

[2] 「Common」タブを選択し、「Encording」欄で「Other」「ISO-8859-1」を選択

[3] 「Targets」タブを選択し、対象のantビルド(上記の例でいうと「findbugs」)を選択し、「Run」ボタン押下

  実行結果例

Buildfile: C:\eclipse\workspace\SampleJava\build.xml
findbugs:
 [findbugs] Executing findbugs FindBugsTask from ant task
 [findbugs] Running FindBugs...
 [findbugs] 9 06, 2015 11:34:34 Œß‘O java.util.prefs.WindowsPreferences <init>
 [findbugs] Œx: Could not open/create prefs root node Software\JavaSoft\Prefs at root 0x80000002. Windows RegCreateKeyEx(...) returned error code 5.
 [findbugs] Calculating exit code...
 [findbugs] Exit code set to: 0
 [findbugs] Output saved to C:\eclipse\workspace\SampleJava/report/findbugs_report.xml
BUILD SUCCESSFUL
Total time: 5 seconds

 

  関連記事

  Jenkins ~ 初級設定編 / (4) プラグインを設定 ~

* 本記事を書くきっかけになった記事
http://blogs.yahoo.co.jp/dk521123/35294010.html

  FindBugs プラグイン ~プログラム静的解析ツール~

http://blogs.yahoo.co.jp/dk521123/32316466.html