Hi,
We are using library <org.sonar.api.config.Settings> in place of <org.apache.commons.configuration.BaseConfiguration> and <org.apache.commons.configuration.Configuration> in our plugins.
Plugins are building fine. But we face execution failure during sonar-runner execution on a sample c++ project.
Is there anything that we need to do extra here to make the changes, compatible with the sonar-runner execution?
Below is the execution logs generated after running sonar-runner:-
--------------------------------------------------------------------------------------------------------------------------------------------
C:\Users\myname\Downloads\sonar-runner-2.4
SonarQube Runner 2.4
Java 1.7.0_79 Oracle Corporation (32-bit)
Windows 7 6.1 x86
INFO: Error stacktraces are turned on.
INFO: Runner configuration file: C:\Users\myname\Downloads\sonar-runner-2.4\conf\sonar-runner.properties
INFO: Project configuration file: D:\SampleCppProject\sonar-project.properties
INFO: Default locale: "en_US", source code encoding: "UTF-8"
INFO: Work directory: D:\SampleCppProject\.\.sonar
INFO: SonarQube Server 5.5
12:35:16.670 DEBUG - Publish global mode
12:35:17.005 DEBUG - cache: C:\Users\myname\.sonar\ws_cache\http%3A%2F%2Fxxx.xxx.xxx.xxx%3A9000\global
12:35:17.465 INFO - Load global repositories
12:35:18.030 INFO - Load global repositories (done) | time=570ms
12:35:18.215 WARN - Property 'sonar.jdbc.username' is not supported any more. It will be ignored. There is no longer any DB connection to the SQ database.
12:35:18.240 INFO - User cache: C:\Users\myname\.sonar\cache
12:35:19.120 INFO - Load plugins index
12:35:19.135 INFO - Load plugins index (done) | time=15ms
12:35:19.140 DEBUG - Load plugins
12:35:19.520 DEBUG - Load plugins (done) | time=380ms
12:35:19.540 DEBUG - API compatibility mode is enabled on plugin Git [scmgit] (built with API lower than 5.2)
12:35:19.545 DEBUG - API compatibility mode is enabled on plugin JavaScript [javascript] (built with API lower than 5.2)
12:35:19.555 DEBUG - API compatibility mode is enabled on plugin customPlugin [customPlugin] (built with API lower than 5.2)
12:35:19.565 DEBUG - API compatibility mode is enabled on plugin SVN [scmsvn] (built with API lower than 5.2)
12:35:19.605 DEBUG - API compatibility mode is enabled on plugin Java [java] (built with API lower than 5.2)
12:35:19.615 DEBUG - API compatibility mode is enabled on plugin zzzz [zzzz] (built with API lower than 5.2)
12:35:19.630 DEBUG - API compatibility mode is enabled on plugin C# [csharp] (built with API lower than 5.2)
12:35:20.165 DEBUG - Plugins:
12:35:20.165 DEBUG - * Git 1.2 (scmgit)
12:35:20.165 DEBUG - * JavaScript 2.11 (javascript)
12:35:20.165 DEBUG - * customPlugin 2.2 (customPlugin)
12:35:20.165 DEBUG - * SVN 1.3 (scmsvn)
12:35:20.165 DEBUG - * Java 3.13.1 (java)
12:35:20.165 DEBUG - * zzzz 2.1 (zzzz)
12:35:20.165 DEBUG - * C# 5.0 (csharp)
12:35:22.195 INFO - Process project properties
12:35:22.200 DEBUG - Process project properties (done) | time=5ms
12:35:22.665 DEBUG - cache: C:\Users\myname\.sonar\ws_cache\http%3A%2F%2Fxxx.xxx.xxx.xxx%3A9000\5.5\projects\RAK0115ZZ-27MZ
12:35:22.665 INFO - Load project repositories
12:35:22.690 DEBUG - Project repository not available - continuing without it
at org.sonarqube.ws.client.BaseResponse.failIfNotSuccessful(BaseResponse.java:34) ~[sonar-scanner-engine-shaded-5.5.jar:na]
at org.sonar.batch.bootstrap.BatchWsClient.failIfUnauthorized(BatchWsClient.java:96) ~[sonar-scanner-engine-shaded-5.5.jar:na]
at org.sonar.batch.bootstrap.BatchWsClient.call(BatchWsClient.java:67) ~[sonar-scanner-engine-shaded-5.5.jar:na]
at org.sonar.batch.cache.WSLoader$3.load(WSLoader.java:85) ~[sonar-scanner-engine-shaded-5.5.jar:na]
at org.sonar.batch.cache.WSLoader$3.load(WSLoader.java:81) ~[sonar-scanner-engine-shaded-5.5.jar:na]
at org.sonar.batch.cache.WSLoader.loadFromServer(WSLoader.java:225) ~[sonar-scanner-engine-shaded-5.5.jar:na]
at org.sonar.batch.cache.WSLoader.loadFromServerFirst(WSLoader.java:188) ~[sonar-scanner-engine-shaded-5.5.jar:na]
at org.sonar.batch.cache.WSLoader.load(WSLoader.java:148) ~[sonar-scanner-engine-shaded-5.5.jar:na]
at org.sonar.batch.cache.WSLoader.loadStream(WSLoader.java:124) ~[sonar-scanner-engine-shaded-5.5.jar:na]
at org.sonar.batch.repository.DefaultProjectRepositoriesLoader.load(DefaultProjectRepositoriesLoader.java:60) ~[sonar-scanner-engine-shaded-5.5.jar:na]
at org.sonar.batch.repository.ProjectRepositoriesProvider.provide(ProjectRepositoriesProvider.java:45) [sonar-scanner-engine-shaded-5.5.jar:na]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.7.0_79]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) ~[na:1.7.0_79]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.7.0_79]
at java.lang.reflect.Method.invoke(Method.java:606) ~[na:1.7.0_79]
at org.picocontainer.injectors.MethodInjector.invokeMethod(MethodInjector.java:129) [sonar-scanner-engine-shaded-5.5.jar:na]
at org.picocontainer.injectors.MethodInjector.access$000(MethodInjector.java:39) [sonar-scanner-engine-shaded-5.5.jar:na]
at org.picocontainer.injectors.MethodInjector$2.run(MethodInjector.java:113) [sonar-scanner-engine-shaded-5.5.jar:na]
at org.picocontainer.injectors.AbstractInjector$ThreadLocalCyclicDependencyGuard.observe(AbstractInjector.java:270) [sonar-scanner-engine-shaded-5.5.jar:na]
at org.picocontainer.injectors.MethodInjector.decorateComponentInstance(MethodInjector.java:120) [sonar-scanner-engine-shaded-5.5.jar:na]
at org.picocontainer.injectors.CompositeInjector.decorateComponentInstance(CompositeInjector.java:58) [sonar-scanner-engine-shaded-5.5.jar:na]
at org.picocontainer.injectors.Reinjector.reinject(Reinjector.java:142) [sonar-scanner-engine-shaded-5.5.jar:na]
at org.picocontainer.injectors.ProviderAdapter.getComponentInstance(ProviderAdapter.java:96) [sonar-scanner-engine-shaded-5.5.jar:na]
at org.picocontainer.DefaultPicoContainer.getInstance(DefaultPicoContainer.java:699) [sonar-scanner-engine-shaded-5.5.jar:na]
at org.picocontainer.DefaultPicoContainer.getComponent(DefaultPicoContainer.java:647) [sonar-scanner-engine-shaded-5.5.jar:na]
at org.sonar.core.platform.ComponentContainer$ExtendedDefaultPicoContainer.getComponent(ComponentContainer.java:67) [sonar-scanner-engine-shaded-5.5.jar:na]
at org.picocontainer.DefaultPicoContainer.getComponent(DefaultPicoContainer.java:632) [sonar-scanner-engine-shaded-5.5.jar:na]
at org.picocontainer.parameters.BasicComponentParameter$1.resolveInstance(BasicComponentParameter.java:118) [sonar-scanner-engine-shaded-5.5.jar:na]
at org.picocontainer.parameters.ComponentParameter$1.resolveInstance(ComponentParameter.java:136) [sonar-scanner-engine-shaded-5.5.jar:na]
at org.picocontainer.injectors.SingleMemberInjector.getParameter(SingleMemberInjector.java:78) [sonar-scanner-engine-shaded-5.5.jar:na]
at org.picocontainer.injectors.ConstructorInjector$CtorAndAdapters.getParameterArguments(ConstructorInjector.java:309) [sonar-scanner-engine-shaded-5.5.jar:na]
at org.picocontainer.injectors.ConstructorInjector$1.run(ConstructorInjector.java:335) [sonar-scanner-engine-shaded-5.5.jar:na]
at org.picocontainer.injectors.AbstractInjector$ThreadLocalCyclicDependencyGuard.observe(AbstractInjector.java:270) [sonar-scanner-engine-shaded-5.5.jar:na]
at org.picocontainer.injectors.ConstructorInjector.getComponentInstance(ConstructorInjector.java:364) [sonar-scanner-engine-shaded-5.5.jar:na]
at org.picocontainer.injectors.AbstractInjectionFactory$LifecycleAdapter.getComponentInstance(AbstractInjectionFactory.java:56) [sonar-scanner-engine-shaded-5.5.jar:na]
at org.picocontainer.behaviors.AbstractBehavior.getComponentInstance(AbstractBehavior.java:64) [sonar-scanner-engine-shaded-5.5.jar:na]
at org.picocontainer.behaviors.Stored.getComponentInstance(Stored.java:91) [sonar-scanner-engine-shaded-5.5.jar:na]
at org.picocontainer.DefaultPicoContainer.getInstance(DefaultPicoContainer.java:699) [sonar-scanner-engine-shaded-5.5.jar:na]
at org.picocontainer.DefaultPicoContainer.getComponent(DefaultPicoContainer.java:647) [sonar-scanner-engine-shaded-5.5.jar:na]
at org.sonar.core.platform.ComponentContainer$ExtendedDefaultPicoContainer.getComponent(ComponentContainer.java:67) [sonar-scanner-engine-shaded-5.5.jar:na]
at org.picocontainer.DefaultPicoContainer.getComponent(DefaultPicoContainer.java:678) [sonar-scanner-engine-shaded-5.5.jar:na]
at org.sonar.core.platform.ComponentContainer.getComponentByType(ComponentContainer.java:272) [sonar-scanner-engine-shaded-5.5.jar:na]
at org.sonar.batch.scan.ProjectScanContainer.doBeforeStart(ProjectScanContainer.java:116) [sonar-scanner-engine-shaded-5.5.jar:na]
at org.sonar.core.platform.ComponentContainer.startComponents(ComponentContainer.java:140) [sonar-scanner-engine-shaded-5.5.jar:na]
at org.sonar.batch.scan.ProjectScanContainer.startComponents(ProjectScanContainer.java:128) [sonar-scanner-engine-shaded-5.5.jar:na]
at org.sonar.core.platform.ComponentContainer.execute(ComponentContainer.java:127) [sonar-scanner-engine-shaded-5.5.jar:na]
at org.sonar.batch.task.ScanTask.execute(ScanTask.java:55) [sonar-scanner-engine-shaded-5.5.jar:na]
at org.sonar.batch.task.TaskContainer.doAfterStart(TaskContainer.java:86) [sonar-scanner-engine-shaded-5.5.jar:na]
at org.sonar.core.platform.ComponentContainer.startComponents(ComponentContainer.java:142) [sonar-scanner-engine-shaded-5.5.jar:na]
at org.sonar.core.platform.ComponentContainer.execute(ComponentContainer.java:127) [sonar-scanner-engine-shaded-5.5.jar:na]
at org.sonar.batch.bootstrap.GlobalContainer.executeTask(GlobalContainer.java:124) [sonar-scanner-engine-shaded-5.5.jar:na]
at org.sonar.batch.bootstrapper.Batch.executeTask(Batch.java:119) [sonar-scanner-engine-shaded-5.5.jar:na]
at org.sonar.batch.bootstrapper.Batch.execute(Batch.java:79) [sonar-scanner-engine-shaded-5.5.jar:na]
at org.sonar.runner.batch.IsolatedLauncher.execute(IsolatedLauncher.java:48) [sonar-runner-batch5116336130440411811.jar:na]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.7.0_79]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) ~[na:1.7.0_79]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.7.0_79]
at java.lang.reflect.Method.invoke(Method.java:606) ~[na:1.7.0_79]
at org.sonar.runner.impl.BatchLauncher$1.delegateExecution(BatchLauncher.java:87) [sonar-runner-dist-2.4.jar:na]
at org.sonar.runner.impl.BatchLauncher$1.run(BatchLauncher.java:75) [sonar-runner-dist-2.4.jar:na]
at java.security.AccessController.doPrivileged(Native Method) [na:1.7.0_79]
at org.sonar.runner.impl.BatchLauncher.doExecute(BatchLauncher.java:69) [sonar-runner-dist-2.4.jar:na]
at org.sonar.runner.impl.BatchLauncher.execute(BatchLauncher.java:50) [sonar-runner-dist-2.4.jar:na]
at org.sonar.runner.api.EmbeddedRunner.doExecute(EmbeddedRunner.java:102) [sonar-runner-dist-2.4.jar:na]
at org.sonar.runner.api.Runner.execute(Runner.java:100) [sonar-runner-dist-2.4.jar:na]
at org.sonar.runner.Main.executeTask(Main.java:70) [sonar-runner-dist-2.4.jar:na]
at org.sonar.runner.Main.execute(Main.java:59) [sonar-runner-dist-2.4.jar:na]
at org.sonar.runner.Main.main(Main.java:53) [sonar-runner-dist-2.4.jar:na]
12:35:22.695 INFO - Load project repositories (done) | time=30ms
12:35:22.915 DEBUG - Available languages:
12:35:22.915 DEBUG - * JavaScript => "js"
12:35:22.915 DEBUG - * Java => "java"
12:35:22.915 DEBUG - * C# => "cs"
12:35:22.920 INFO - Load quality profiles
12:35:23.360 INFO - Load quality profiles (done) | time=440ms
12:35:23.380 INFO - Load active rules
12:35:25.135 INFO - Load active rules (done) | time=1760ms
12:35:25.220 WARN - SCM provider autodetection failed. No SCM provider claims to support this project. Please use sonar.scm.provider to define SCM of your project.
12:35:25.220 INFO - Publish mode
12:35:25.220 DEBUG - Start recursive analysis of project modules
12:35:25.220 INFO - ------------- Scan SampleCppProject
12:35:25.305 INFO - Analysis report generated in D:\SampleCppProject\.\.sonar\batch-report
INFO: ------------------------------------------------------------------------
INFO: EXECUTION FAILURE
INFO: ------------------------------------------------------------------------
Total time: 14.460s
Final Memory: 9M/75M
INFO: ------------------------------------------------------------------------
ERROR: Error during Sonar runner execution
org.sonar.runner.impl.RunnerException: Unable to execute Sonar
at org.sonar.runner.impl.BatchLauncher$1.delegateExecution(BatchLauncher.java:91)
at org.sonar.runner.impl.BatchLauncher$1.run(BatchLauncher.java:75)
at java.security.AccessController.doPrivileged(Native Method)
at org.sonar.runner.impl.BatchLauncher.doExecute(BatchLauncher.java:69)
at org.sonar.runner.impl.BatchLauncher.execute(BatchLauncher.java:50)
at org.sonar.runner.api.EmbeddedRunner.doExecute(EmbeddedRunner.java:102)
at org.sonar.runner.api.Runner.execute(Runner.java:100)
at org.sonar.runner.Main.executeTask(Main.java:70)
at org.sonar.runner.Main.execute(Main.java:59)
at org.sonar.runner.Main.main(Main.java:53)
Caused by: java.lang.IllegalStateException: Unable to register extension org.sonar.plugins.customPlugin.customPluginConfiguration
at org.sonar.core.platform.ComponentContainer.addExtension(ComponentContainer.java:248)
at org.sonar.batch.bootstrap.ExtensionInstaller.doInstall(ExtensionInstaller.java:76)
at org.sonar.batch.bootstrap.ExtensionInstaller.install(ExtensionInstaller.java:57)
at org.sonar.batch.scan.ModuleScanContainer.addExtensions(ModuleScanContainer.java:176)
at org.sonar.batch.scan.ModuleScanContainer.doBeforeStart(ModuleScanContainer.java:94)
at org.sonar.core.platform.ComponentContainer.startComponents(ComponentContainer.java:140)
at org.sonar.core.platform.ComponentContainer.execute(ComponentContainer.java:127)
at org.sonar.batch.scan.ProjectScanContainer.scan(ProjectScanContainer.java:265)
at org.sonar.batch.scan.ProjectScanContainer.scanRecursively(ProjectScanContainer.java:260)
at org.sonar.batch.scan.ProjectScanContainer.doAfterStart(ProjectScanContainer.java:250)
at org.sonar.core.platform.ComponentContainer.startComponents(ComponentContainer.java:142)
at org.sonar.batch.scan.ProjectScanContainer.startComponents(ProjectScanContainer.java:128)
at org.sonar.core.platform.ComponentContainer.execute(ComponentContainer.java:127)
at org.sonar.batch.task.ScanTask.execute(ScanTask.java:55)
at org.sonar.batch.task.TaskContainer.doAfterStart(TaskContainer.java:86)
at org.sonar.core.platform.ComponentContainer.startComponents(ComponentContainer.java:142)
at org.sonar.core.platform.ComponentContainer.execute(ComponentContainer.java:127)
at org.sonar.batch.bootstrap.GlobalContainer.executeTask(GlobalContainer.java:124)
at org.sonar.batch.bootstrapper.Batch.executeTask(Batch.java:119)
at org.sonar.batch.bootstrapper.Batch.execute(Batch.java:79)
at org.sonar.runner.batch.IsolatedLauncher.execute(IsolatedLauncher.java:48)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.sonar.runner.impl.BatchLauncher$1.delegateExecution(BatchLauncher.java:87)
... 9 more
Caused by: java.lang.NoClassDefFoundError: Lorg/sonar/api/resources/ProjectFileSystem;
at java.lang.Class.getDeclaredFields0(Native Method)
at java.lang.Class.privateGetDeclaredFields(Class.java:2499)
at java.lang.Class.getDeclaredFields(Class.java:1811)
at org.picocontainer.injectors.AdaptingInjection$2.run(AdaptingInjection.java:217)
at java.security.AccessController.doPrivileged(Native Method)
at org.picocontainer.injectors.AdaptingInjection.injectionFieldAnnotated(AdaptingInjection.java:209)
at org.picocontainer.injectors.AdaptingInjection.fieldAnnotatedInjectionAdapter(AdaptingInjection.java:188)
at org.picocontainer.injectors.AdaptingInjection.createComponentAdapter(AdaptingInjection.java:57)
at org.picocontainer.behaviors.AbstractBehaviorFactory.createComponentAdapter(AbstractBehaviorFactory.java:44)
at org.picocontainer.behaviors.OptInCaching.createComponentAdapter(OptInCaching.java:45)
at org.picocontainer.DefaultPicoContainer.addComponent(DefaultPicoContainer.java:536)
at org.picocontainer.DefaultPicoContainer.access$300(DefaultPicoContainer.java:84)
at org.picocontainer.DefaultPicoContainer$AsPropertiesPicoContainer.addComponent(DefaultPicoContainer.java:1149)
at org.sonar.core.platform.ComponentContainer.addExtension(ComponentContainer.java:246)
... 34 more
Caused by: java.lang.ClassNotFoundException: org.sonar.api.resources.ProjectFileSystem
at org.sonar.classloader.ParentFirstStrategy.loadClass(ParentFirstStrategy.java:39)
at org.sonar.classloader.ClassRealm.loadClass(ClassRealm.java:87)
at org.sonar.classloader.ClassRealm.loadClass(ClassRealm.java:76)
... 48 more
--------------------------------------------------------------------------------------------------------------------------------------------