SonarQube server version CE 7.9.6
Problem: Cannot get sonarqube to report test coverage using jest on a javascript/node/springboot codebase.
Goal: Get SonarQube to report the contents of the lcov.info file on the sonar project panel
Actions Summary: Using the maven-frontend-plugin I have successfully implemented and integrated the jest test
In my project root folder is the client folder where the lcov.info file is being written
[projectroot]/deconweb/coverage/lcov.info
Scanner context for the most recent scan (Note the context for the lcov file is the full path in this run not the relative path which i have also tried)
SonarQube plugins:
- SonarPython 1.14.1.3143 (python)
- SonarCSS 1.1.1.1010 (cssfamily)
- GitHub Authentication for SonarQube 1.5.0.870 (authgithub)
- JaCoCo 1.0.2.475 (jacoco)
- SonarGo 1.1.1.2000 (go)
- SonarKotlin 1.5.0.315 (kotlin)
- Svn 1.9.0.1295 (scmsvn)
- SonarJS 5.2.1.7778 (javascript)
- SonarRuby 1.5.0.315 (ruby)
- SonarScala 1.5.0.315 (sonarscala)
- SonarC# 7.15.0.8572 (csharp)
- SonarJava 5.13.1.18282 (java)
- LDAP 2.2.0.608 (ldap)
- SonarHTML 3.1.0.1615 (web)
- Git 1.8.0.1574 (scmgit)
- SonarFlex 2.5.1.1831 (flex)
- SonarXML 2.0.1.2020 (xml)
- SAML 2.0 Authentication for SonarQube 1.2.0.682 (authsaml)
- SonarPHP 3.2.0.4868 (php)
- SonarTS 1.9.0.3766 (typescript)
- SonarVB 7.15.0.8572 (vbnet)
Global server settings:
- sonar.core.id=F6267474-AXPuU55WReNP70gyi4b1
- sonar.core.serverBaseURL=http://tressel.tdkc.com:9000
- sonar.core.startTime=2021-03-08T20:00:17+0000
- sonar.leak.period=5
Project server settings:
- sonar.javascript.lcov.reportPaths=/home/jenkins/workspace/decon-web_buildtest/deconweb/coverage/lcov.info
Project scanner properties:
- sonar.binaries=/home/jenkins/workspace/decon-web_develop/target/classes
- sonar.groovy.binaries=/home/jenkins/workspace/decon-web_develop/target/classes
- sonar.host.url=http://tressel.tdkc.com:9000
- sonar.java.binaries=/home/jenkins/workspace/decon-web_develop/target/classes
- sonar.java.jdkHome=/usr/local/openjdk-8
- sonar.java.libraries=/home/jenkins/.m2/repository/org/springframework/boot/spring-boot-starter-data-mongodb/2.2.6.RELEASE/spring-boot-starter-data-mongodb-2.2.6.RELEASE.jar,/home/jenkins/.m2/repository/org/springframework/boot/spring-boot-starter/2.2.6.RELEASE/spring-boot-starter-2.2.6.RELEASE.jar,/home/jenkins/.m2/repository/org/springframework/boot/spring-boot/2.2.6.RELEASE/spring-boot-2.2.6.RELEASE.jar,/home/jenkins/.m2/repository/org/springframework/boot/spring-boot-autoconfigure/2.2.6.RELEASE/spring-boot-autoconfigure-2.2.6.RELEASE.jar,/home/jenkins/.m2/repository/org/springframework/boot/spring-boot-starter-logging/2.2.6.RELEASE/spring-boot-starter-logging-2.2.6.RELEASE.jar,/home/jenkins/.m2/repository/ch/qos/logback/logback-classic/1.2.3/logback-classic-1.2.3.jar,/home/jenkins/.m2/repository/ch/qos/logback/logback-core/1.2.3/logback-core-1.2.3.jar,/home/jenkins/.m2/repository/org/apache/logging/log4j/log4j-to-slf4j/2.12.1/log4j-to-slf4j-2.12.1.jar,/home/jenkins/.m2/repository/org/apache/logging/l...
- sonar.java.source=1.8
- sonar.java.target=1.8
- sonar.java.test.libraries=/home/jenkins/workspace/decon-web_develop/target/classes,/home/jenkins/.m2/repository/org/springframework/boot/spring-boot-starter-data-mongodb/2.2.6.RELEASE/spring-boot-starter-data-mongodb-2.2.6.RELEASE.jar,/home/jenkins/.m2/repository/org/springframework/boot/spring-boot-starter/2.2.6.RELEASE/spring-boot-starter-2.2.6.RELEASE.jar,/home/jenkins/.m2/repository/org/springframework/boot/spring-boot/2.2.6.RELEASE/spring-boot-2.2.6.RELEASE.jar,/home/jenkins/.m2/repository/org/springframework/boot/spring-boot-autoconfigure/2.2.6.RELEASE/spring-boot-autoconfigure-2.2.6.RELEASE.jar,/home/jenkins/.m2/repository/org/springframework/boot/spring-boot-starter-logging/2.2.6.RELEASE/spring-boot-starter-logging-2.2.6.RELEASE.jar,/home/jenkins/.m2/repository/ch/qos/logback/logback-classic/1.2.3/logback-classic-1.2.3.jar,/home/jenkins/.m2/repository/ch/qos/logback/logback-core/1.2.3/logback-core-1.2.3.jar,/home/jenkins/.m2/repository/org/apache/logging/log4j/log4j-to-slf4j/2.12.1/log4j-to-slf4j-2.1...
- sonar.libraries=/home/jenkins/.m2/repository/org/springframework/boot/spring-boot-starter-data-mongodb/2.2.6.RELEASE/spring-boot-starter-data-mongodb-2.2.6.RELEASE.jar,/home/jenkins/.m2/repository/org/springframework/boot/spring-boot-starter/2.2.6.RELEASE/spring-boot-starter-2.2.6.RELEASE.jar,/home/jenkins/.m2/repository/org/springframework/boot/spring-boot/2.2.6.RELEASE/spring-boot-2.2.6.RELEASE.jar,/home/jenkins/.m2/repository/org/springframework/boot/spring-boot-autoconfigure/2.2.6.RELEASE/spring-boot-autoconfigure-2.2.6.RELEASE.jar,/home/jenkins/.m2/repository/org/springframework/boot/spring-boot-starter-logging/2.2.6.RELEASE/spring-boot-starter-logging-2.2.6.RELEASE.jar,/home/jenkins/.m2/repository/ch/qos/logback/logback-classic/1.2.3/logback-classic-1.2.3.jar,/home/jenkins/.m2/repository/ch/qos/logback/logback-core/1.2.3/logback-core-1.2.3.jar,/home/jenkins/.m2/repository/org/apache/logging/log4j/log4j-to-slf4j/2.12.1/log4j-to-slf4j-2.12.1.jar,/home/jenkins/.m2/repository/org/apache/logging/l...
- sonar.links.ci=
- sonar.links.homepage=https://projects.spring.io/spring-boot/#/spring-boot-starter-parent/decon-web
- sonar.links.issue=
- sonar.links.scm=https://github.com/spring-projects/spring-boot/spring-boot-starter-parent/decon-web
- sonar.links.scm_dev=
- sonar.login=******
- sonar.moduleKey=decon-web:com.tdkc.decon:decon-web
- sonar.projectBaseDir=/home/jenkins/workspace/decon-web_develop
- sonar.projectBuildDir=/home/jenkins/workspace/decon-web_develop/target
- sonar.projectDescription=DECON Web App
- sonar.projectKey=decon-web
- sonar.projectName=decon-web
- sonar.projectVersion=0.0.1-SNAPSHOT
- sonar.scanner.app=ScannerMaven
- sonar.scanner.appVersion=3.8.0.2131/3.3.9
- sonar.sourceEncoding=UTF-8
- sonar.sources=/home/jenkins/workspace/decon-web_develop/pom.xml,/home/jenkins/workspace/decon-web_develop/src/main/java
- sonar.tests=/home/jenkins/workspace/decon-web_develop/src/test/java
- sonar.working.directory=/home/jenkins/workspace/decon-web_develop/target/sonar
The output from the sonar scan stage of my jenkins build is as follows
+ mvn sonar:sonar -Dsonar.projectKey=decon-web -Dsonar.host.url=http://********.*******.com:9000 -Dsonar.login=4882501d2a46705c3194a0c8d9686262fbec80d2
[INFO] Scanning for projects...
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building decon-web 0.0.1-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] --- sonar-maven-plugin:3.8.0.2131:sonar (default-cli) @ decon-web ---
[INFO] User cache: /home/jenkins/.sonar/cache
[INFO] SonarQube version: 7.9.6
[INFO] Default locale: "en_US", source code encoding: "UTF-8"
[WARNING] SonarScanner will require Java 11 to run starting in SonarQube 8.x
[INFO] Load global settings
[INFO] Load global settings (done) | time=122ms
[INFO] Server id: F6267474-AXPuU55WReNP70gyi4b1
[INFO] User cache: /home/jenkins/.sonar/cache
[INFO] Load/download plugins
[INFO] Load plugins index
[INFO] Load plugins index (done) | time=73ms
[INFO] Load/download plugins (done) | time=106ms
[INFO] Process project properties
[INFO] Execute project builders
[INFO] Execute project builders (done) | time=4ms
[INFO] Project key: decon-web
[INFO] Base dir: /home/jenkins/workspace/decon-web_buildtest
[INFO] Working dir: /home/jenkins/workspace/decon-web_buildtest/target/sonar
[INFO] Load project settings for component key: 'decon-web'
[INFO] Load project settings for component key: 'decon-web' (done) | time=19ms
[INFO] Load quality profiles
[INFO] Load quality profiles (done) | time=72ms
[INFO] Detected Jenkins
[INFO] Load active rules
[INFO] Load active rules (done) | time=710ms
[INFO] Indexing files...
[INFO] Project configuration:
[INFO] 4 files indexed
[INFO] 0 files ignored because of scm ignore settings
[INFO] Quality profile for java: Sonar way
[INFO] Quality profile for xml: Sonar way
[INFO] ------------- Run sensors on module decon-web
[INFO] Load metrics repository
[INFO] Load metrics repository (done) | time=23ms
[INFO] Sensor JavaSquidSensor [java]
[INFO] Configured Java source version (sonar.java.source): 8
[INFO] JavaClasspath initialization
[INFO] JavaClasspath initialization (done) | time=12ms
[INFO] JavaTestClasspath initialization
[INFO] JavaTestClasspath initialization (done) | time=4ms
[INFO] Java Main Files AST scan
[INFO] 2 source files to be analyzed
[INFO] Load project repositories
[INFO] Load project repositories (done) | time=29ms
[INFO] 2/2 source files have been analyzed
[INFO] Java Main Files AST scan (done) | time=515ms
[INFO] Java Test Files AST scan
[INFO] 1 source files to be analyzed
[INFO] 1/1 source files have been analyzed
[INFO] Java Test Files AST scan (done) | time=50ms
[INFO] Sensor JavaSquidSensor [java] (done) | time=1525ms
[INFO] Sensor JaCoCo XML Report Importer [jacoco]
[INFO] Sensor JaCoCo XML Report Importer [jacoco] (done) | time=2ms
[INFO] Sensor SurefireSensor [java]
[INFO] parsing [/home/jenkins/workspace/decon-web_buildtest/target/surefire-reports]
[INFO] Sensor SurefireSensor [java] (done) | time=2ms
[INFO] Sensor JaCoCoSensor [java]
[INFO] Sensor JaCoCoSensor [java] (done) | time=1ms
[INFO] Sensor JavaXmlSensor [java]
[INFO] 1 source files to be analyzed
[INFO] Sensor JavaXmlSensor [java] (done) | time=149ms
[INFO] Sensor HTML [web]
[INFO] 1/1 source files have been analyzed
[INFO] Sensor HTML [web] (done) | time=12ms
[INFO] Sensor XML Sensor [xml]
[INFO] 1 source files to be analyzed
[INFO] Sensor XML Sensor [xml] (done) | time=130ms
[INFO] 1/1 source files have been analyzed
[INFO] ------------- Run sensors on project
[INFO] Sensor Zero Coverage Sensor
[INFO] Sensor Zero Coverage Sensor (done) | time=8ms
[INFO] Sensor Java CPD Block Indexer
[INFO] Sensor Java CPD Block Indexer (done) | time=12ms
[INFO] 2 files had no CPD blocks
[INFO] Calculating CPD for 0 files
[INFO] CPD calculation finished
[INFO] Analysis report generated in 63ms, dir size=96 KB
[INFO] Analysis report compressed in 19ms, zip size=20 KB
[INFO] Analysis report uploaded in 24ms
[INFO] ANALYSIS SUCCESSFUL, you can browse http://******.******.com:9000/dashboard?id=decon-web
[INFO] Note that you will be able to access the updated dashboard once the server has processed the submitted analysis report
[INFO] More about the report processing at http://******.******.com:9000/api/ce/task?id=AXhkVeVfkmwf1BNHdfJM
[INFO] Analysis total time: 4.899 s
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 8.132 s
[INFO] Finished at: 2021-03-24T13:04:14+00:00
[INFO] Final Memory: 86M/3205M
[INFO] ------------------------------------------------------------------------
Jenkins flow
Pull code
Build using maven build with maven-frontend-plugin to build and run the jest tests
Then run the maven sonar:sonar goal as mentioned at the top of the log above.
Console shows 0% coverage and the above log mentions nothing about parsing a lcov.info file
What am I missing here?