SonarCloud integration with TravisCI and Github

Hi,
I’m having a trouble to integrate sonar analysis+ TravisCI with with my Github repo.
I think the problem is related with sonar.project-properties.

The final error in the TravisCI build is as follows:

You must define the following mandatory properties for 'Unknown': sonar.projectKey

  • ALM used:
    GitHub

  • CI system used :
    TravisCI

  • Scanner command used: sonar-scanner -X
    contents of sonar.project-properties:

        sonar.projectKey=MrPoudel_cmake-example
        sonar.organization=mrpoudel
        sonar.login=5e8a1c5e40c0776216c419ff31001d99b79d3782
        #sonar.password=

        # This is the name and version displayed in the SonarCloud UI.
        #sonar.projectName=cmake-example
        #sonar.projectVersion=1.0

        # =====================================================
        #   Meta-data for the project
        # =====================================================

        sonar.links.homepage=https://github.com/MrPoudel/cmake-example
        sonar.links.ci=https://travis-ci.org/github/MrPoudel/cmake-example
        sonar.links.scm=https://github.com/MrPoudel/cmake-example
        sonar.links.issue=https://github.com/MrPoudel/cmake-example/issues

        # =====================================================
        #   Properties that will be shared amongst all modules
        # =====================================================

        sonar.sources=.
        #sonar.tests=./tests/

        # =====================================================
        #  Languages that are used in the project
        # =====================================================
        sonar.language=c
        #sonar.cxx.coverage.reportpath=build/coverage.xml

        # Maximum time to wait for the response of a Web Service call (in seconds)
        sonar.ws.timeout=60	

        Encoding files
        sonar.sourceEncoding=UTF-8
Worker information
docker_mtu
docker stop/waiting
resolvconf
resolvconf stop/waiting
git.checkout
1.61s$ git clone --depth=50 --branch=master https://github.com/MrPoudel/cmake-example.git MrPoudel/cmake-example
0.01s
Setting environment variables from .travis.yml
$ export SONAR=true
$ export TRAVIS_COMPILER=gcc
$ export CC=${CC:-gcc}
$ export CC_FOR_BUILD=${CC_FOR_BUILD:-gcc}
cache.1
Setting up build cache
$ gcc --version
gcc (Ubuntu 4.8.4-2ubuntu1~14.04.3) 4.8.4
Copyright (C) 2013 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
sonarcloud.addon
SonarCloud addon
1.13s$ cmake .
-- The C compiler identification is GNU 4.8.4
-- The CXX compiler identification is GNU 4.8.4
-- Check for working C compiler: /usr/bin/gcc
-- Check for working C compiler: /usr/bin/gcc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Looking for log
-- Looking for log - not found
-- Looking for exp
-- Looking for exp - not found
MathFunction
ahammmmm
-- Configuring done
-- Generating done
-- Build files have been written to: /home/travis/build/MrPoudel/cmake-example
The command "cmake ." exited with 0.
0.24s$ cmake --build . -- -j2
Scanning dependencies of target MakeTable
[ 14%] Building CXX object MathFunctions/CMakeFiles/MakeTable.dir/MakeTable.cxx.o
[ 28%] Linking CXX executable MakeTable
[ 28%] Built target MakeTable
[ 42%] Generating Table.h
Scanning dependencies of target MathFunctions
[ 57%] Building CXX object MathFunctions/CMakeFiles/MathFunctions.dir/mysqrt.cxx.o
[ 71%] Linking CXX static library libMathFunctions.a
[ 71%] Built target MathFunctions
Scanning dependencies of target Tutorial
[ 85%] Building CXX object CMakeFiles/Tutorial.dir/tutorial.cxx.o
[100%] Linking CXX executable Tutorial
[100%] Built target Tutorial
The command "cmake --build . -- -j2" exited with 0.
0.12s$ ctest
Test project /home/travis/build/MrPoudel/cmake-example
    Start 1: TutorialRuns
1/9 Test #1: TutorialRuns .....................   Passed    0.00 sec
    Start 2: TutorialUsage
2/9 Test #2: TutorialUsage ....................   Passed    0.00 sec
    Start 3: TutorialComp4
3/9 Test #3: TutorialComp4 ....................   Passed    0.00 sec
    Start 4: TutorialComp9
4/9 Test #4: TutorialComp9 ....................   Passed    0.00 sec
    Start 5: TutorialComp5
5/9 Test #5: TutorialComp5 ....................   Passed    0.00 sec
    Start 6: TutorialComp7
6/9 Test #6: TutorialComp7 ....................   Passed    0.00 sec
    Start 7: TutorialComp25
7/9 Test #7: TutorialComp25 ...................   Passed    0.00 sec
    Start 8: TutorialComp-25
8/9 Test #8: TutorialComp-25 ..................   Passed    0.00 sec
    Start 9: TutorialComp0.0001
9/9 Test #9: TutorialComp0.0001 ...............   Passed    0.00 sec
100% tests passed, 0 tests failed out of 9
Total Test time (real) =   0.02 sec
The command "ctest" exited with 0.
4.95s$ sonar-scanner  -X
17:38:18.475 INFO: Scanner configuration file: /home/travis/.sonarscanner/sonar-scanner/conf/sonar-scanner.properties
17:38:18.489 INFO: Project root configuration file: NONE
17:38:18.578 INFO: SonarQube Scanner 3.0.3.778
17:38:18.578 INFO: Java 1.8.0_151 Oracle Corporation (64-bit)
17:38:18.579 INFO: Linux 4.4.0-101-generic amd64
17:38:18.947 DEBUG: keyStore is : 
17:38:18.948 DEBUG: keyStore type is : jks
17:38:18.948 DEBUG: keyStore provider is : 
17:38:18.949 DEBUG: init keystore
17:38:18.952 DEBUG: init keymanager of type SunX509
17:38:19.153 INFO: User cache: /home/travis/.sonar/cache
17:38:19.153 DEBUG: Extract sonar-scanner-api-batch in temp...
17:38:19.177 DEBUG: Get bootstrap index...
17:38:19.181 DEBUG: Download: https://sonarcloud.io/batch/index
17:38:19.890 DEBUG: Get bootstrap completed
17:38:19.891 DEBUG: Create isolated classloader...
17:38:19.911 DEBUG: Start temp cleaning...
17:38:19.937 DEBUG: Temp cleaning done
17:38:19.938 DEBUG: Execution getVersion
17:38:19.943 DEBUG: Execution start
17:38:19.951 DEBUG: Execution getVersion
17:38:19.952 INFO: SonarQube server 8.0.0
17:38:19.953 INFO: Default locale: "en_US", source code encoding: "UTF-8" (analysis is platform dependent)
17:38:19.954 DEBUG: Work directory: /home/travis/build/MrPoudel/cmake-example/.scannerwork
17:38:19.954 DEBUG: Execution getVersion
17:38:19.954 DEBUG: Execution execute
17:38:20.269 DEBUG: SonarCloud 8.0.0.10673
17:38:20.438 INFO: Load global settings
17:38:21.070 DEBUG: GET 200 https://sonarcloud.io/api/settings/values.protobuf | time=630ms
17:38:21.079 INFO: Load global settings (done) | time=641ms
17:38:21.095 INFO: Server id: 1BD809FA-AWHW8ct9-T_TB3XqouNu
17:38:21.106 DEBUG: Create : /home/travis/.sonar/_tmp
17:38:21.107 INFO: User cache: /home/travis/.sonar/cache
17:38:21.113 INFO: Load/download plugins
17:38:21.113 INFO: Load plugins index
17:38:21.225 DEBUG: GET 200 https://sonarcloud.io/api/plugins/installed | time=112ms
17:38:21.278 INFO: Load plugins index (done) | time=165ms
17:38:21.451 INFO: Load/download plugins (done) | time=338ms
17:38:21.605 DEBUG: Plugins:
17:38:21.605 DEBUG:   * SonarCSS 1.2.0.1325 (cssfamily)
17:38:21.606 DEBUG:   * SonarPLSQL 3.4.1.2576 (plsql)
17:38:21.606 DEBUG:   * SonarScala 1.7.0.883 (sonarscala)
17:38:21.606 DEBUG:   * C# Code Quality and Security 8.10.0.19839 (csharp)
17:38:21.607 DEBUG:   * Vulnerability Analysis 8.5.0-M1.3491 (security)
17:38:21.607 DEBUG:   * Java Code Quality and Security 6.6.0.22815 (java)
17:38:21.608 DEBUG:   * SonarHTML 3.2.0.2082 (web)
17:38:21.608 DEBUG:   * SonarFlex 2.5.1.1831 (flex)
17:38:21.609 DEBUG:   * SonarXML 2.0.1.2020 (xml)
17:38:21.609 DEBUG:   * VB.NET Code Quality and Security 8.10.0.19839 (vbnet)
17:38:21.611 DEBUG:   * SonarSwift 4.2.2.77 (swift)
17:38:21.611 DEBUG:   * CFamily Code Quality and Security 6.12.0.20255 (cpp)
17:38:21.612 DEBUG:   * Python Code Quality and Security 3.0.0.7330 (python)
17:38:21.619 DEBUG:   * JaCoCo 1.1.0.898 (jacoco)
17:38:21.619 DEBUG:   * Mercurial 1.1.2 (scmmercurial)
17:38:21.619 DEBUG:   * SonarGo 1.7.0.883 (go)
17:38:21.619 DEBUG:   * SonarKotlin 1.7.0.883 (kotlin)
17:38:21.620 DEBUG:   * SonarTSQL 1.4.0.3334 (tsql)
17:38:21.620 DEBUG:   * SonarApex 1.7.0.883 (sonarapex)
17:38:21.620 DEBUG:   * JavaScript/TypeScript Code Quality and Security 6.3.0.12464 (javascript)
17:38:21.620 DEBUG:   * SonarRuby 1.7.0.883 (ruby)
17:38:21.620 DEBUG:   * Vulnerability Rules for C# 8.5.0-M1.3491 (securitycsharpfrontend)
17:38:21.620 DEBUG:   * Vulnerability Rules for Java 8.5.0-M1.3491 (securityjavafrontend)
17:38:21.621 DEBUG:   * License for SonarLint 8.0.0.10673 (license)
17:38:21.621 DEBUG:   * COBOL Code Quality 4.5.1.4460 (cobol)
17:38:21.621 DEBUG:   * Vulnerability Rules for Python 8.5.0-M1.3491 (securitypythonfrontend)
17:38:21.621 DEBUG:   * Git 1.12.0.2034 (scmgit)
17:38:21.621 DEBUG:   * PHP Code Quality and Security 3.8.0.6152 (php)
17:38:21.621 DEBUG:   * SonarABAP 3.8.0.2034 (abap)
17:38:21.621 DEBUG:   * Vulnerability Rules for PHP 8.5.0-M1.3491 (securityphpfrontend)
17:38:21.668 INFO: Loaded core extensions: developer-scanner
17:38:21.696 DEBUG: Installed core extension: developer-scanner
17:38:22.512 WARN: The version of Java (1.8.0_151) you have used to run this analysis is deprecated and we will stop accepting it from October 2020. Please update to at least Java 11.
17:38:22.537 INFO: Process project properties
17:38:22.548 INFO: ------------------------------------------------------------------------
17:38:22.552 INFO: EXECUTION FAILURE
17:38:22.554 INFO: ------------------------------------------------------------------------
17:38:22.558 INFO: Total time: 4.150s
17:38:22.656 INFO: Final Memory: 25M/201M
17:38:22.656 INFO: ------------------------------------------------------------------------
17:38:22.656 ERROR: Error during SonarQube Scanner execution
java.lang.IllegalStateException: Unable to load component class org.sonar.scanner.scan.ProjectLock
	at org.sonar.core.platform.ComponentContainer$ExtendedDefaultPicoContainer.getComponent(ComponentContainer.java:51)
	at org.picocontainer.DefaultPicoContainer.getComponent(DefaultPicoContainer.java:678)
	at org.sonar.core.platform.ComponentContainer.getComponentByType(ComponentContainer.java:272)
	at org.sonar.scanner.scan.ProjectScanContainer.doBeforeStart(ProjectScanContainer.java:147)
	at org.sonar.core.platform.ComponentContainer.startComponents(ComponentContainer.java:120)
	at org.sonar.core.platform.ComponentContainer.execute(ComponentContainer.java:108)
	at org.sonar.scanner.bootstrap.GlobalContainer.doAfterStart(GlobalContainer.java:126)
	at org.sonar.core.platform.ComponentContainer.startComponents(ComponentContainer.java:122)
	at org.sonar.core.platform.ComponentContainer.execute(ComponentContainer.java:108)
	at org.sonar.batch.bootstrapper.Batch.doExecute(Batch.java:58)
	at org.sonar.batch.bootstrapper.Batch.executeTask(Batch.java:84)
	at org.sonarsource.scanner.api.internal.batch.BatchIsolatedLauncher.execute(BatchIsolatedLauncher.java:63)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at org.sonarsource.scanner.api.internal.IsolatedLauncherProxy.invoke(IsolatedLauncherProxy.java:60)
	at com.sun.proxy.$Proxy0.execute(Unknown Source)
	at org.sonarsource.scanner.api.EmbeddedScanner.doExecute(EmbeddedScanner.java:233)
	at org.sonarsource.scanner.api.EmbeddedScanner.runAnalysis(EmbeddedScanner.java:151)
	at org.sonarsource.scanner.cli.Main.runAnalysis(Main.java:123)
	at org.sonarsource.scanner.cli.Main.execute(Main.java:77)
	at org.sonarsource.scanner.cli.Main.main(Main.java:61)
Caused by: java.lang.IllegalStateException: Unable to load component class org.sonar.api.batch.fs.internal.DefaultInputProject
	at org.sonar.core.platform.ComponentContainer$ExtendedDefaultPicoContainer.getComponent(ComponentContainer.java:51)
	at org.picocontainer.DefaultPicoContainer.getComponent(DefaultPicoContainer.java:632)
	at org.picocontainer.parameters.BasicComponentParameter$1.resolveInstance(BasicComponentParameter.java:118)
	at org.picocontainer.parameters.ComponentParameter$1.resolveInstance(ComponentParameter.java:136)
	at org.picocontainer.injectors.SingleMemberInjector.getParameter(SingleMemberInjector.java:78)
	at org.picocontainer.injectors.ConstructorInjector$CtorAndAdapters.getParameterArguments(ConstructorInjector.java:309)
	at org.picocontainer.injectors.ConstructorInjector$1.run(ConstructorInjector.java:335)
	at org.picocontainer.injectors.AbstractInjector$ThreadLocalCyclicDependencyGuard.observe(AbstractInjector.java:270)
	at org.picocontainer.injectors.ConstructorInjector.getComponentInstance(ConstructorInjector.java:364)
	at org.picocontainer.injectors.AbstractInjectionFactory$LifecycleAdapter.getComponentInstance(AbstractInjectionFactory.java:56)
	at org.picocontainer.behaviors.AbstractBehavior.getComponentInstance(AbstractBehavior.java:64)
	at org.picocontainer.behaviors.Stored.getComponentInstance(Stored.java:91)
	at org.picocontainer.DefaultPicoContainer.getInstance(DefaultPicoContainer.java:699)
	at org.picocontainer.DefaultPicoContainer.getComponent(DefaultPicoContainer.java:647)
	at org.sonar.core.platform.ComponentContainer$ExtendedDefaultPicoContainer.getComponent(ComponentContainer.java:49)
	... 22 more
Caused by: java.lang.IllegalStateException: Unable to load component class org.sonar.api.batch.bootstrap.ProjectReactor
	at org.sonar.core.platform.ComponentContainer$ExtendedDefaultPicoContainer.getComponent(ComponentContainer.java:51)
	at org.picocontainer.DefaultPicoContainer.getComponent(DefaultPicoContainer.java:632)
	at org.picocontainer.parameters.BasicComponentParameter$1.resolveInstance(BasicComponentParameter.java:118)
	at org.picocontainer.parameters.ComponentParameter$1.resolveInstance(ComponentParameter.java:136)
	at org.picocontainer.injectors.SingleMemberInjector.getParameter(SingleMemberInjector.java:78)
	at org.picocontainer.injectors.SingleMemberInjector.getMemberArguments(SingleMemberInjector.java:61)
	at org.picocontainer.injectors.MethodInjector.getMemberArguments(MethodInjector.java:100)
	at org.picocontainer.injectors.MethodInjector$2.run(MethodInjector.java:112)
	at org.picocontainer.injectors.AbstractInjector$ThreadLocalCyclicDependencyGuard.observe(AbstractInjector.java:270)
	at org.picocontainer.injectors.MethodInjector.decorateComponentInstance(MethodInjector.java:120)
	at org.picocontainer.injectors.CompositeInjector.decorateComponentInstance(CompositeInjector.java:58)
	at org.picocontainer.injectors.Reinjector.reinject(Reinjector.java:142)
	at org.picocontainer.injectors.ProviderAdapter.getComponentInstance(ProviderAdapter.java:96)
	at org.picocontainer.DefaultPicoContainer.getInstance(DefaultPicoContainer.java:699)
	at org.picocontainer.DefaultPicoContainer.getComponent(DefaultPicoContainer.java:647)
	at org.sonar.core.platform.ComponentContainer$ExtendedDefaultPicoContainer.getComponent(ComponentContainer.java:49)
	... 36 more
Caused by: You must define the following mandatory properties for 'Unknown': sonar.projectKey
17:38:22.674 DEBUG: Execution getVersion
17:38:22.674 DEBUG: Execution stop
The command "sonar-scanner  -X" exited with 1.
cache.2
store build cache
Done. Your build exited with 1.

  • Potential workaround: No idea

Any support would be appreciated.

Hi @MrPoudel,

the properties filename is not correct, it should be sonar-project.properties instead.

@mpaladin Thank you very much. It works now :grinning:

1 Like

This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.