antのタスクで解析からHTML出力まで行います。
HTMLにする際、XSLTテンプレートがPMDに含まれているので、
それを利用します。
ディレクトリ構成は以下の通りです。
/
/pmd-bin-5.1.0/
/commons-net-3.3-src/
/apache-ant-1.8.4/
build.xml
cpdExec.bat
以下は、antのbuild.xmlファイルです。
<?xml version="1.0" encoding="UTF-8"?>
<project name="CPD" default="analysis" basedir=".">
<path id="cpd.lib">
<fileset dir="./pmd-bin-5.1.0/lib">
<include name="*.jar"/>
</fileset>
</path>
<taskdef name="cpd" classpathref="cpd.lib" classname="net.sourceforge.pmd.cpd.CPDTask"/>
<target name="analysis">
<antcall target="cpd" />
<antcall target="xslt" />
</target>
<target name="cpd">
<cpd encoding="UTF-8" minimumTokenCount="100" format="xml" language="java" outputFile="cpd.xml">
<fileset dir="./commons-net-3.3-src/src/main/java">
<include name="**/*.java"/>
</fileset>
</cpd>
</target>
<target name="xslt">
<xslt in="cpd.xml" style="./pmd-bin-5.1.0/etc/xslt/cpdhtml.xslt" out="cpd.html" />
</target>
</project>
batファイルは、以下のように記述します。
setlocal
set JAVA_HOME=%ProgramFiles%\Java\jdk1.7.0_51
set ANT_HOME=./apache-ant-1.8.4
"%ANT_HOME%\bin\ant.bat"
pause
HTMLは以下のような感じになります。
0 件のコメント:
コメントを投稿