Hudsonの使い方⑮ FindBugs Plugin

バグになりそうなコードを検出してくれる、
FindBugs Pluginを入れてみました。

Slave端末にFindBugsをインストールします。

FindBugsダウンロードし適当なフォルダに展開します。
FIND_BUGS_HOME/lib/FindBugs-ant.jarをANT_HOME/libにコピーします。

FindBugsをAntから実行できるようにbuild.xmlを追加します。

管理しやすいように、以前に作ったbuild.xmlと分けて作りました。


■codeAnalysis.properties

###################################################
# ディレクトリ定義
###################################################
# コード解析結果ファイル格納ディレクトリ
codeAnalysis.dir=codeAnalysis

###################################################
# FindBugs定義
###################################################
# FindBugsインストールディレクトリ
findbugs.home=c:/FindBugs1.3.9
# FindBugs解析結果ファイル名
findbugs.output=findBugs.xml


■codeAnalysis.xml

<?xml version="1.0" encoding="UTF-8"?>
<project name="CodeAnalysis" default="analysis" basedir=".">

  <!-- ========================================================== -->
  <!-- 定義値 -->
  <!-- ========================================================== -->

  <!-- プロパティファイル名 -->
  <property file="build.properties" />
  <property file="codeAnalysis.properties" />
  
  <!-- ========================================================== -->
  <!-- Antタスク定義 -->
  <!-- ========================================================== -->
  <taskdef name="findBugs" classname="edu.umd.cs.findbugs.anttask.FindBugsTask"/>

  <!-- ========================================================== -->
  <!-- Antタスク実行順序 -->
  <!-- ========================================================== -->
  <target name="analysis">
    <antcall target="clean" />
    <antcall target="findBugs" />
  </target>

  <!-- ========================================================== -->
  <!-- ディレクトリをクリア -->
  <!-- ========================================================== -->
  <target name="clean">
    <delete dir="${codeAnalysis.dir}" />
    <mkdir dir="${codeAnalysis.dir}" />
  </target>

  <!-- ========================================================== -->
  <!-- FindBugs実行 -->
  <!-- ========================================================== -->
  <target name="findBugs">
    <findBugs home="${findbugs.home}" output="xml" outputFile="${codeAnalysis.dir}/${findbugs.output}">
      <class location="${class.dir}" />
      <class location="${lib.dir}" />
      <auxClasspath path="${test.lib.dir}" />
      <sourcePath path="${src.dir}" />
    </findBugs>
  </target>
  
</project>

プロジェクトの設定でAntの呼び出しを追加します。(赤枠の部分です)

FindBugs Pluginをインストールします。

ジョブの設定でFindBugs警告の集計をチェック

FindBugsの出力結果ファイルを指定します。

ジョブを実行します。

FindBugsの警告があれば表示されます。(赤枠の部分です)


詳細も表示されます。