4
votes

I followed the instructions here
I am NOT using Maven.

My Jenkins job output says: 12:32:33.951 INFO Sensor JaCoCoSensor... 12:32:33.961 INFO Project coverage is set to 0% as no JaCoCo execution data has been dumped: /var/lib/jenkins/workspace/SeqGen/SeqGen/jacoco.exec 12:32:35.152 INFO Sensor JaCoCoSensor done: 1201 ms

Here are my properties:

project.home=SeqGen
sonar.projectKey=com.skyboximaging:seqgen
sonar.projectName="SeqGen"
sonar.projectVersion=1.0
sonar.dynamicAnalysis=true
sources=src/java
tests=test/java
binaries=classes
sonar.jacoco.reportPath=jacoco.exec
sonar.jacoco.antTargets=test-with-coverage

On the Sonar server, I set General Settings > Code Coverage > Code coverage plugin to jacoco

I am very confused by the documentation at http://docs.codehaus.org/display/SONAR/Code+coverage+plugins I am particularly puzzled by this sentence: "During Sonar analysis, the Sonar Jacoco plugin will take care to attach the Jacoco agent to the JVM and to launch the unit tests."

As far as I can tell, my Ant target is not getting invoked. How does the Sonar Jacoco plugin know where to find my build.xml?

What am I doing wrong?

3
Did you get a solution ?Pulak Agrawal

3 Answers

3
votes

Providing an answer for the next poor soul who spends hours trying to find out why this doesn't work. Apparently this feature has been removed:

Remove "sonar.jacoco.antTargets" property and related classes in the plugin

1
votes

One possibility is that the name of your ant task for junit does not match the name specified in the properties.

You have specified

sonar.jacoco.antTargets=test-with-coverage

As per the documentation, there should be an ant target with exactly the same name. Also in this target, junit should be set to fork as well.