Sonar入门(三): Ant集成Sonar

Sonar也支持ant工程的构建,但是相对于maven而言,最大的不足是无法在分析过程中产生单测覆盖率报告。因此要求用户在ant项目中配置好cobertura/jacoco报告,最后执行sonar构建的时候,根据已经生成的报告进行分析统计。另外,还需要下载sonar-ant-task-2.0.jar,放到CLASSPATH后者ant/lib目录下。

以zookeeper为例:

a.        修改zookeeper的build.xml文件,添加如下配置


  <property name="sonar.host.url" value="http://localhost:8384" />

  <property name="sonar.jdbc.url" value="jdbc:mysql:// localhost:3306/so

nar?useUnicode=true&amp;characterEncoding=utf8" />

  <property name="sonar.jdbc.driver" value="com.mysql.jdbc.Driver" />

  <property name="sonar.jdbc.username" value="sonar" />

  <property name="sonar.jdbc.password" value="sonar" />

 

  <property name="sonar.projectKey" value="org.apache.zookeeper:zookeeper" />

  <property name="sonar.projectName" value="ZooKeeper" />

  <property name="sonar.projectVersion" value="1.0.10" />

  <property name="sonar.sourceEncoding" value="UTF-8" />

  <property name="sonar.sources" value="src/java/main" />

  <property name="sonar.tests" value="src/java/test" />

  <property name="sonar.binaries" value="build/classes,build/test/classes" />

 

  <property name="sonar.dynamicAnalysis" value="reuseReports" />

  <property name="sonar.surefire.reportsPath" value="${basedir}/build/test/logs" />

  <property name="sonar.java.coveragePlugin" value="cobertura" />

  <property name="sonar.cobertura.reportPath" value="${basedir}/build/cobertura/coverage.xml" />

 
 


b.    执行sh -ex build.sh # 执行编译测试

c.     anttest -Dtest.junit.output.format=xml

# 执行单元测试,生成单测报告build/test/logs/TEST-*.xml

d. ant cobertura-report -Dtest.cobertura.output.format=xml

# 生成cobertura报告build/cobertura/coverage.xml

e.     antsonar # 静态代码分析,代码行数统计,单测覆盖率报告分析

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章