Coverage on new code is always – on many Java projects

Hi,

We have many Java projects whose new code coverage is not working. The coverage for new code is always --.
We have tried many things but nothing works: sonar.projectDate property with an ancient date, many different versions for jacoco and sonar maven plugins.

This problem doesn’t occur in all projects. It works on some of them. It seems to be a random behavior.

Versions details are:

  • SonarQube 7.9.3 (build 33349)
  • Java versions for projects: 7 and 8
  • Jenkins version 2.235.1

Thanks.

Hi @efren.villamagua looks like it is a configuration issue if you are using “sonar.jacoco.reportPaths” on your pom.xml this has deprecated on SonarQube instead of that you can use " sonar.coverage.jacoco.xmlReportPaths " this will fix your issue .

For more update you can visit
https://docs.sonarqube.org/pages/viewpage.action?pageId=1442166

Thanks
Sachidananda

Hi @efren.villamagua,

What Sachidananda said applies to a version of the Java Code Quality and Security plugin >= 6.1, it does not support anymore JaCoCo native format. In this case, see [Coverage & Test Data] Importing JaCoCo coverage report in XML format

So you should check the version of Java Code Quality and Security in the SonarQube/Administration/Marketplace.

If the java plugin is < 6.1, it should not be related to the XML format, please run mvn -X sonar:sonar and provide the logs between:

  • Sensor JaCoCo XML Report Importer [jacoco]
    and
  • Sensor JaCoCo XML Report Importer [jacoco] (done)

Hi @alban.auzeill

The Java Code Quality and Security version is 6.3.2

The logs:

[INFO] 17:46:51.485 Sensor JaCoCo XML Report Importer [jacoco]
[DEBUG] 17:46:51.488 Reading report '/var/lib/jenkins/workspace/###########/target/site/jacoco/jacoco.xml'
[INFO] 17:46:51.536 Sensor JaCoCo XML Report Importer [jacoco] (done) | time=51ms

However Coverage on New Code continues being “

Thanks in advance.

Hi Efrén,

There’s no error in the logs, XML format is imported successfully, so the coverage information should be present in SonarQube.
Could you check that the jacoco.xml report contains some covered instruction attributes ci or some covered branch attributes cb with a value different from zero (for example ci="1")
And file names that are supposed be covered are referenced in the jacoco.xml report (e.g. <sourcefile name="MyClass.java">)
If the report looks good but it is not imported, could try to reduce and anonymize one project that is not working and send us as a small reproducer?