2012-10-09 107 views
4

我需要在聲納與詹金斯配置JaCoCo代碼覆蓋引擎。JaCoCo代碼覆蓋引擎在詹金斯與聲納

我在sonar-project.properties做了以下文件的入口

sonar.projectKey=projectX:projectX 
sonar.projectName=projectX 
sonar.projectVersion=1.0 
sources=src 
tests=test 
binaries=workspace/stage/main/classes,workspace/stage/test/classes 
libraries=workspace/stage/artifact/lib/*.jar 
sonar.dynamicAnalysis=reuseReports 
sonar.core.codeCoveragePlugin=jacoco 
sonar.jacoco.reportPath=reports/jacoco.exec 

我也寫了下面的螞蟻任務:

<taskdef uri="antlib:org.jacoco.ant" resource="org/jacoco/ant/antlib.xml"> 
</taskdef> 
<target name="jacoco-coverage"> 
<jacoco:coverage enabled="true" destfile="jacoco.exec"> 
<junit fork="true" forkmode="once" includeAntRuntime="true" maxmemory="512M"                                 printsummary="withOutAndErr" haltonfailure="false"> 
<test name="com.test.HelloWorld"/> 
<batchtest todir="workspace/stage/test/classes/"> 
<fileset dir="../test" includes="**/*.java"/> 
</batchtest> 
<classpath> 
<path refid="classpath.test"/> 
<pathelement location="workspace/stage/test/classes/" /> 
</classpath> 
</junit> 
</jacoco:coverage> 
</target> 

<target name="jacoco-report"> 
<jacoco:report> 
<executiondata> 
<file file="jacoco.exec" /> 
</executiondata> 
<structure name="Example Project"> 
<classfiles> 
<fileset dir="workspace/stage/test/classes" /> 
</classfiles> 
<sourcefiles encoding="UTF-8"> 
<fileset dir="test" /> 
</sourcefiles> 
</structure> 
<html destdir="report" /> 
</jacoco:report> 
</target> 

是沒有得到生成jacoco.exec文件來自「jacoco-coverage」,因此「jacoco-report」目標失敗。

任何輸入,指針將不勝感激。

在此先感謝。

回答

0

沒有任何屬性下設置爲我工作:

<plugins> 
     <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-failsafe-plugin</artifactId> 
      <configuration> 
       <encoding>UTF-8</encoding> 
       <!--write repo rts into surefire-reports dir so jacoco can pick them up--> 
       <reportsDirectory>${project.build.directory}/surefire reports</reportsDirectory> 
       <!--add jacoco--> 
       <argLine>${jacoco.agent.argLine}</argLine> 
      </configuration> 
      <executions> 
       <execution> 
        <goals> 
         <goal>integration-test</goal> 
         <goal>verify</goal> 
        </goals> 
       </execution> 
      </executions> 
     </plugin> 

     <plugin> 
      <groupId>org.jacoco</groupId> 
      <artifactId>jacoco-maven-plugin</artifactId> 
      <configuration> 
       <propertyName>jacoco.agent.argLine</propertyName> <!-- default: argLine --> 
       <destFile>${project.build.directory}/jacoco-integration.exec</destFile> <!-- agent --> 
       <dataFile>${project.build.directory}/jacoco-integration.exec</dataFile> <!-- report --> 
      </configuration> 
      <executions> 
       <execution> 
        <id>agent</id> 
        <goals><goal>prepare-agent</goal></goals> 
       </execution> 
      </executions> 
     </plugin> 
</plugins>