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>