It turned out to be quite easy with three caveats. CAVEAT 1: We can add SonarQube support by adding the following changes into the groovy script[1], however this relies on a deprecated post-process. The alternative is to either require each project to use an updated parent or add SonarQube support manually via the plugin. As it seems like SonarQube will continue to support the plugin for the moment[2], I would suggest that we leverage this as it will allow us to enable SonarQube with the minimal project configuration required and provide a flag to disable the post event so we can add support for the "supported" method project-by-project.
CAVEAT 2: To leverage Coverage reports we will need to add JaCoCo test coverage support. CAVEAT 3: The ASF SonarQube doesn't support badges as does SonarCloud. We can add badges for tech debt and coverage with Shields.io: https://img.shields.io/sonar/4.2/https/builds.apache.org/analysis/org.apache.cxf%3Acxf/tech_debt.svg https://img.shields.io/sonar/4.2/https/builds.apache.org/analysis/org.apache.cxf%3Acxf/coverage.svg As is, you can see the SonarQube output here on my docker SonarQube instance with a smattering of projects[3] 1 - https://github.com/klcodanr/sling-tooling-jenkins/commit/2d0fd1097f179974cd8b602c8cc6e270552e0ee5 2 - https://docs.sonarqube.org/display/SCAN/Analyzing+with+SonarQube+Scanner+for+Jenkins#AnalyzingwithSonarQubeScannerforJenkins-JobConfiguration.2 3 - https://imgur.com/a/LDdRDy3 On Tue, Sep 4, 2018 at 1:25 PM Daniel Klco <[email protected]> wrote: > Robert, > > Do you happen to know where that'd be? I checked the trunk POM[1] and the > groovy config[2] didn't see any mention of Sonar. > > Partially as an update, partially as documentation since I need to work on > something else for a bit, I think this will just require updating the > groovy job to add sonar as a publisher in the maven jobs[3]. > > What I'm not sure about is that Apache Flex[4] (which has SonarQube > working) has the SonarQube information provided in the POM. I *think* that > should be provided automatically by the global Jenkins configuration. If > that's not the case or if there are other Sling "global" settings we'd > want, this may also require updating the parent POM. > > -Dan > > 1 - http://svn.apache.org/viewvc/sling/trunk/pom.xml?view=log > 2 - > http://svn.apache.org/viewvc/sling/trunk/tooling/jenkins/create_jobs.groovy?revision=1812253&view=markup > 3 - > https://jenkinsci.github.io/job-dsl-plugin/#path/mavenJob-publishers-sonar > 4 - https://github.com/apache/flex-blazeds/blob/master/pom.xml > > > On Tue, Sep 4, 2018 at 9:45 AM Robert Munteanu <[email protected]> wrote: > >> On Tue, 2018-09-04 at 08:38 -0400, Daniel Klco wrote: >> > Is that something others would be interested in having for our >> > modules? If >> > so, I'll pilot out getting this in place. >> >> +1 >> >> Note that I think we have something setup for the old SVN reactor. >> >> Robert >> >>
