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 # 靜態代碼分析,代碼行數統計,單測覆蓋率報告分析

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