Hi everyone,
Since we updated SonarQube jacoco.reportPath is not used anymore so our code coverage is not calculated anymore.
I read a lot of existing topics about similar problems and a tutorial that is available at the page [Coverage & Test Data] Importing JaCoCo coverage report in XML format
The problem I have is that code coverage is 0 in SonarQube. Agregate reports are generated and in the logs I can see that they are imported
‘’’
build | 26-Aug-2020 09:47:24 | [INFO] Sensor JaCoCo XML Report Importer [jacoco] |
---|---|---|
build | 26-Aug-2020 09:47:24 | [INFO] Importing 1 report(s). Turn your logs in debug mode in order to see the exhaustive list. |
build | 26-Aug-2020 09:47:24 | [INFO] Sensor JaCoCo XML Report Importer [jacoco] (done) |
‘’’ |
I am using:
- SonarQube ver 8.4.1
- JaCoCo XML report importer ver 1.1.0
I have a multi module maven project with this simplified structure:
main pom.xml
module shared with its pom.xml
module containing tests with its pom.xml
my main pom.xml
<sonar.sources>src/main</sonar.sources>
<sonar.junit.reportPaths>target/surefire-reports</sonar.junit.reportPaths>
<sonar.javascript.lcov.reportPaths>target/jest-coverage/lcov.info</sonar.javascript.lcov.reportPaths>
<aggregate.report.dir>target/site/jacoco-aggregate/jacoco.xml</aggregate.report.dir>
<sonar.coverage.jacoco.xmlReportPaths>${basedir}/${aggregate.report.dir}</sonar.coverage.jacoco.xmlReportPaths>
....
<build>
<plugins>
<plugin>
<groupId>org.jacoco</groupId>
<artifactId>jacoco-maven-plugin</artifactId>
<version>0.8.5</version>
<executions>
<execution>
<id>prepare-jacoco-agent</id>
<goals>
<goal>prepare-agent</goal>
</goals>
</execution>
<execution>
<id>report</id>
<goals>
<goal>report-aggregate</goal>
</goals>
<phase>test</phase>
</execution>
</executions>
</plugin>
</plugins>
</build>
my shared module pom.xml
<properties>
<sonar.coverage.jacoco.xmlReportPaths>${basedir}/${aggregate.report.dir}</sonar.coverage.jacoco.xmlReportPaths>
</properties>
my module containing tests pom.xml
<properties>
<sonar.coverage.jacoco.xmlReportPaths>${basedir}/${aggregate.report.dir}</sonar.coverage.jacoco.xmlReportPaths>
</properties>
I execute sonar:sonar in Bamboo. Part of the Bamboo log file that shows that the reports are found and imported:
The only error I see is
error 26-Aug-2020 09:47:41 Unable to publish artifact [cucumber-reports]: the source directory /atlassian/bamboo/home/xml-data/build-dir/CSC-CSCN9-SCC/target/cucumber-reports does not exist.
Result: 0% code coverage:
What is wrong with my configuration? Please let me know if you need more details.
Thanks
Dusan