hudson与findbugs的集成

  • A+
所属分类:技术分享

1:下载findbugs-3.0.1-source.zip和findbugs-3.0.1.tar.gz软件包

下载 findbugs-3.0.1.tar.gz (findbugs主包配置文件)。下载地址:https://sourceforge.net/projects/findbugs/files/findbugs/3.0.1/findbugs-3.0.1.tar.gz/download

下载findbugs-3.0.1-source.zip (build.xml文件).下载地址:https://sourceforge.net/projects/findbugs/files/findbugs/3.0.1/findbugs-3.0.1-source.zip/download

   
 

2:解压findbugs-3.0.1-source.zip和findbugs-3.0.1.tar.gz到findbugs-3.0.1目录下

tar -zxvf findbugs-3.0.1.tar.gz

unzip findbugs-3.0.1-source.zip

   
 

3:写相应的ant脚本,如在build.xml中,可以加入下面的target,findbugs在/opt/checkstyle/findbugs-3.0.1下,java包在/root/.hudson/jobs/svn-test/workspace下:

   
 

<!--声明findbugs相关的jar包-->

<path id="findbugs.path" >

<fileset dir ="/opt/findbugs/findbugs-3.0.1/lib">

<include name ="**/*.jar"/>

</fileset>

</path>

   
 

<taskdef name="findbugs"

classname="edu.umd.cs.findbugs.anttask.FindBugsTask"

classpathref ="findbugs.path"/>

<property name ="findbugs.home" value ="/opt/findbugs/findbugs-3.0.1"/>

   
 

<target name="findbugs">

<!--生成findbugs xml报表的文件和路径-->

<findbugs home="${findbugs.home}" output="xml" outputFile="/root/.hudson/jobs/svn-test/workspace/findbugs-result.xml" >

<!-- <sourcePath path="/root/.hudson/jobs/svn-test/workspace/protocol.jar" />

<class location="/root/.hudson/jobs/svn-test/workspace/protocol.jar" /> -->

<!--生成findbugs要检查的项目路径、相关jar和java代码-->

<fileset dir="/root/.hudson/jobs/svn-test/workspace">

<include name="**/*.jar"/>

<include name="**/*.java"/>

</fileset>

</findbugs>

</target>

   
 

4:配置hudson执行build.xml中的ant脚本

011818 0226 hudsonfindb1 - hudson与findbugs的集成

5:配置Hudson,下载Hudson的findbugs plugin,进入到工程配置界面,找到Post-build Actions项,里面多出一个Publish FindBugs analysis results 选项。做相应的配置,根据不同的项目要求设置不同的配置,可参照Help.

011818 0226 hudsonfindb2 - hudson与findbugs的集成

   
 

6:运行工程。可得到如下结果:

图示1:

011818 0226 hudsonfindb3 - hudson与findbugs的集成

图示2:

011818 0226 hudsonfindb4 - hudson与findbugs的集成

图示3:

011818 0226 hudsonfindb5 - hudson与findbugs的集成

头像

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: