The latest point release (7.9.3) on the LTS line breaks the JaCoCo .exec coverage support, not just deprecates it, as was the case in the 7.9.1 release.
One of our development groups recently purchased a Developers Edition license for SonarQube. That involves reinstalling the tool, and since the 7.9.1 release of the Developers Edition was not readily available, it being a LTS line, I figured that we could just use the latest point release.
This is particularly an issue for TeamCity users, where the default JaCoCo plugin only creates the .exec format.
I thought the point of an LTS line was to avoid user visible changes, and this is most certainly a user
visible change.
I need a feature that was added after the LTS. Will it be backported?
Only fixes for Blocker bugs and vulnerabilities are backported to the LTS. One of the benefits of adopting the LTS is the guarantee of stability in features and user experience.
Yes, I had also applied the updates to the plugins, thinking that they were abiding by the same LTS concept. Particularly the plugins that are supplied by SonarSource.
I guess that my expectations of general stability around the LTS need some refinement.
It would be helpful if the actual plugin changes were not so buried as to make it difficult to assess the impact of applying the change. That being said, I will be much more hesitant to apply any updates.
In the meantime we will either be coding in a workaround to convert the .exec files to a .xml or rolling back the plugin to the 5.14 version .
If you upgrade to SonarQube >= 8.2, or if you update the java analyzer to 6.1, the native format of JaCoCo (.exec) is not anymore supported. Providing to SonarQube 7.9 LTS the possibility to update the java analyzer up to 6.3, has been done to resolve some performance issues and at the same time introduces some breaking changes like the support of JaCoCo native format. Introducing breaking changes in an LTS is, of course, something that we don’t want. It leads us to completely rethink the way we will ship following SonarQube and language analyzer versions.
About JaCoCo coverage, we have a strong motivation to stop the support of JaCoCo .exec files. It’s a binary format that evolves, so staying compatible with all versions is too difficult.
I have no knowledge about how to generate the JaCoCo XML report using the default JaCoCo plugin provided by TeamCity, so I started this thread on TeamCity Community Forum: Importing JaCoCo XML report into SonarQube>=8.2/SonarCloud
This poses a big problem for our Company, since the the XML format is missing critical functionality that was available in the binary format. With the XML Format there is no reasonable way to consolidate coverage in multi module maven projects, as described in this open jacoco issue: