Jenkins(Hudson)+Findbugs/PMD/Checkstyle的配置要点

官方论坛文档写得很烂,让人以为安装了插件后就万事大吉,实际上并不是这样,它只是个静态分析结果的分析插件,而分析结果的生成,却是它完成不了的,你仍然需要在你的ant或maven任务中,写一个任务去执行,生成这个分析结果,通常是一个xml文件,例如:

Xml代码 复制代码 收藏代码
  1. <!--===================================================================-->
  2. <!--CheckStylebuild-->
  3. <!--===================================================================-->
  4. <targetname="checkstyle"description="Reportstheviolationsofservicesourceagainstcodingstyleformat">
  5. <taskdefresource="checkstyletask.properties"classpathref="dist.lib"/>
  6. <checkstylefailOnViolation="false"config="${lib.path}/check/CheckStyle_hangame.xml">
  7. <classpathrefid="dist.lib"/>
  8. <filesetdir="${project.src.dir}">
  9. <includename="**/*.java"/>
  10. </fileset>
  11. <formattertype="xml"toFile="${commonbuild.dir}/checkstyle_errors.xml"/>
  12. </checkstyle>
  13. </target>
  14. <!--===================================================================-->
  15. <!--Findbugsbuild-->
  16. <!--===================================================================-->
  17. <taskdefname="findbugs"classname="edu.umd.cs.findbugs.anttask.FindBugsTask"classpathref="dist.lib"/>
  18. <propertyname="findbugs.home"value="/home/irteam/app/findbugs-1.3.9"/>
  19. <targetname="findbugs"depends="build-jar">
  20. <findbugshome="${findbugs.home}"output="xml"outputFile="${commonbuild.dir}/findbugs_errors.xml">
  21. <sourcePathpath="${project.src.dir}"/>
  22. <classlocation="${project.dist.dir}/${project.name}.jar"/>
  23. </findbugs>
  24. </target>
  25. <!--===================================================================-->
  26. <!--PMDbuild-->
  27. <!--===================================================================-->
  28. <targetname="pmd">
  29. <taskdefname="pmd"classname="net.sourceforge.pmd.ant.PMDTask"classpathref="dist.lib"/>
  30. <pmdrulesetfiles="${lib.path}/check/pmd_hangame.xml"encoding="iso-8859-1">
  31. <formattertype="xml"toFile="${commonbuild.dir}/pmd.xml"/>
  32. <filesetdir="${project.src.dir}">
  33. <includename="**/*.java"/>
  34. </fileset>
  35. </pmd>
  36. </target>
	
	<!-- =================================================================== -->
	<!-- CheckStyle build -->
	<!-- =================================================================== -->

        <target name="checkstyle" description="Reports the violations of service source against coding style format">
		<taskdef resource="checkstyletask.properties" classpathref="dist.lib" />
		<checkstyle failOnViolation="false" config="${lib.path}/check/CheckStyle_hangame.xml">
			<classpath refid="dist.lib" />
			<fileset dir="${project.src.dir}">
				<include name="**/*.java" />
			</fileset>
			<formatter type="xml" toFile="${commonbuild.dir}/checkstyle_errors.xml" />
		</checkstyle>
	</target>

	<!-- =================================================================== -->
	<!-- Findbugs build -->
	<!-- =================================================================== -->
	<taskdef name="findbugs" classname="edu.umd.cs.findbugs.anttask.FindBugsTask" classpathref="dist.lib" />
	<property name="findbugs.home" value="/home/irteam/app/findbugs-1.3.9" />
	<target name="findbugs" depends="build-jar">
		<findbugs home="${findbugs.home}" output="xml" outputFile="${commonbuild.dir}/findbugs_errors.xml">
			<sourcePath path="${project.src.dir}" />
			<class location="${project.dist.dir}/${project.name}.jar" />
		</findbugs>
	</target>

	<!-- =================================================================== -->
	<!-- PMD build -->
	<!-- =================================================================== -->
	<target name="pmd">
		<taskdef name="pmd" classname="net.sourceforge.pmd.ant.PMDTask" classpathref="dist.lib" />
		<pmd rulesetfiles="${lib.path}/check/pmd_hangame.xml" encoding="iso-8859-1">
			<formatter type="xml" toFile="${commonbuild.dir}/pmd.xml" />
			<fileset dir="${project.src.dir}">
				<include name="**/*.java" />
			</fileset>
		</pmd>
	</target>

并在findbugs插件中指定你生成的文件名才可以,这里生成的叫findbugs_errors.xml,那么你在插件指定的名字也要叫findbugs_errors.xml,其他两个插件类似,不再赘述.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值