ソースチェック系プラグインの追加
Jenkins実践入門、WEB+DB PRESS Vol.67を読んだ。
PMD,CPD,jslint,csslintもついでに設定してみた。
プロジェクトは
Jenkins実践入門のサンプルプロジェクトを利用。
PMD,CPD
ライブラリをRedirecting...からダウンロード。
build/lib/pmd配下にjarファイルを格納。
ls -1 lib/pmd/ asm-3.2.jar jaxen-1.1.1.jar junit-4.4.jar pmd-4.2.6.jar
<property name="lib.pmd.dir" location="./lib/pmd" /> <path id="pmd.classpath"> <fileset dir="${lib.pmd.dir}"> <include name="*.jar"/> </fileset> </path> <target name="pmd"> <taskdef name="pmd" classname="net.sourceforge.pmd.ant.PMDTask" classpathref="pmd.classpath" /> <mkdir dir="${report.dir}/pmd" /> <pmd shortFilenames="true"> <ruleset>basic</ruleset> <formatter type="xml" toFile="${report.dir}/pmd/pmd.xml"/> <fileset dir="${java.src.dir}"> <include name="**/*.java" /> </fileset> </pmd> </target> <target name="cpd"> <taskdef name="cpd" classname="net.sourceforge.pmd.cpd.CPDTask" classpathref="pmd.classpath" /> <mkdir dir="${report.dir}/cpd" /> <cpd minimumTokenCount="10" format="xml" outputFile="${report.dir}/cpd/cpd.xml"> <fileset dir="${java.src.dir}"> <include name="**/*.java"/> </fileset> </cpd> </target>
PMD Plug-in と Duplicate Code Scanner Plug-in をインストール
プロジェクトの設定で
「PMD警告の集計」-「集計するファイル」build/report/pmd/pmd.xml
「重複コード分析の集計」-「集計するファイル」build/report/cpd/cpd.xml
を指定。
jslint
Google Code Archive - Long-term storage for Google Code Project Hosting.からjslint4java-[version].jarをダウンロード。
build/lib/junit配下にjarファイルを格納。
<taskdef name="jslint" classname="com.googlecode.jslint4java.ant.JSLintTask" classpath="${lib.junit.dir}/jslint4java-2.0.2.jar" /> <target name="jslint" description="Run the JSLint tool on JS files"> <mkdir dir="${report.dir}/jslint" /> <jslint options="white,undef,plusplus,newcap,vars,indent=4,sloppy" haltOnFailure="false"> <predef>jQuery, setTimeout, history, window, document</predef> <formatter type="xml" destfile="${report.dir}/jslint/jslint.xml" /> <fileset dir="./web/js"> <include name="**/*.js" /> <exclude name="**/*.min.js" /> </fileset> </jslint> </target>
Jenkins Violations pluginをインストール。
プロジェクトの設定で
「Report Violations」-「jslint]の「XML filename pattern」にbuild/report/jslint/jslint.xml
を指定。
csslint
GitHub - CSSLint/csslint: Automated linting of Cascading Stylesheetsからcsslint-rhino.jsとjs.jarをダウンロードしbuild/lib/csslint配下に格納。
ls -1 csslint/ csslint-rhino.js js.jar
<property name="lib.csslint.dir" location="./lib/csslint" /> <target name="csslint" description="Run the CSSLint tool on CSS files"> <fileset dir="./web/css" id="cssfiles.raw"> <include name="**/*.css" /> </fileset> <pathconvert pathsep=" " property="cssfiles.clean" refid="cssfiles.raw" /> <mkdir dir="${report.dir}/csslint" /> <exec executable="java" output="${report.dir}/csslint/csslint.xml"> <arg line="-jar ${lib.csslint.dir}/js.jar ${lib.csslint.dir}/csslint-rhino.js --rules=errors --format=lint-xml ${cssfiles.clean}" /> </exec> </target>
プロジェクトの設定で
「Report Violations」-「csslint]の「XML filename pattern」にbuild/report/csslint/csslint.xml
を指定。