Idean / sonar-swift

Open source Swift plugin for SonarQube (also supports Objective-C)
Other
896 stars 276 forks source link

sonar-swift doesn't support sonarqube v6.4 #90

Closed Kiran-B closed 7 years ago

Kiran-B commented 7 years ago

SonarQube 6.4 refuses to startup with sonar-swift 0.3.4 installed. Following is the console output:

======

2017.06.05 13:03:32 ERROR web[][o.s.s.p.Platform] Background initialization failed. Stopping SonarQube
java.lang.IllegalStateException: Fail to load plugin ObjectiveC [backelitesonarobjectivecplugin]
    at org.sonar.server.plugins.ServerExtensionInstaller.installExtensions(ServerExtensionInstaller.java:73)
    at org.sonar.server.platform.platformlevel.PlatformLevel4.start(PlatformLevel4.java:534)
    at org.sonar.server.platform.Platform.start(Platform.java:231)
    at org.sonar.server.platform.Platform.startLevel34Containers(Platform.java:205)
    at org.sonar.server.platform.Platform.access$500(Platform.java:46)
    at org.sonar.server.platform.Platform$1.lambda$doRun$0(Platform.java:119)
    at org.sonar.server.platform.Platform$AutoStarterRunnable.runIfNotAborted(Platform.java:391)
    at org.sonar.server.platform.Platform$1.doRun(Platform.java:119)
    at org.sonar.server.platform.Platform$AutoStarterRunnable.run(Platform.java:375)
    at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.NoClassDefFoundError: org/sonar/api/web/CodeColorizerFormat
    at java.lang.ClassLoader.defineClass1(Native Method)
    at java.lang.ClassLoader.defineClass(ClassLoader.java:763)
    at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
    at java.net.URLClassLoader.defineClass(URLClassLoader.java:467)
    at java.net.URLClassLoader.access$100(URLClassLoader.java:73)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:368)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:362)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:361)
    at org.sonar.classloader.ClassRealm.loadClassFromSelf(ClassRealm.java:125)
    at org.sonar.classloader.ParentFirstStrategy.loadClass(ParentFirstStrategy.java:37)
    at org.sonar.classloader.ClassRealm.loadClass(ClassRealm.java:87)
    at org.sonar.classloader.ClassRealm.loadClass(ClassRealm.java:76)
    at org.sonar.plugins.objectivec.ObjectiveCPlugin.getExtensions(ObjectiveCPlugin.java:53)
    at org.sonar.api.SonarPlugin.define(SonarPlugin.java:51)
    at org.sonar.server.plugins.ServerExtensionInstaller.installExtensions(ServerExtensionInstaller.java:63)
    ... 9 common frames omitted
Caused by: java.lang.ClassNotFoundException: org.sonar.api.web.CodeColorizerFormat
    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)
    ... 25 common frames omitted

======

Kiran-B commented 7 years ago

Apologies. Earlier, copied the incorrect log(it belonged to Obj-C plugin). Though the issue appears the same, here is the correct log:

===

2017.06.05 13:11:25 ERROR web[][o.s.s.p.Platform] Background initialization failed. Stopping SonarQube
java.lang.IllegalStateException: Fail to load plugin Swift (Backelite) [backelitesonarswiftplugin]
    at org.sonar.server.plugins.ServerExtensionInstaller.installExtensions(ServerExtensionInstaller.java:73)
    at org.sonar.server.platform.platformlevel.PlatformLevel4.start(PlatformLevel4.java:534)
    at org.sonar.server.platform.Platform.start(Platform.java:231)
    at org.sonar.server.platform.Platform.startLevel34Containers(Platform.java:205)
    at org.sonar.server.platform.Platform.access$500(Platform.java:46)
    at org.sonar.server.platform.Platform$1.lambda$doRun$0(Platform.java:119)
    at org.sonar.server.platform.Platform$AutoStarterRunnable.runIfNotAborted(Platform.java:391)
    at org.sonar.server.platform.Platform$1.doRun(Platform.java:119)
    at org.sonar.server.platform.Platform$AutoStarterRunnable.run(Platform.java:375)
    at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.NoClassDefFoundError: org/sonar/api/web/CodeColorizerFormat
    at java.lang.ClassLoader.defineClass1(Native Method)
    at java.lang.ClassLoader.defineClass(ClassLoader.java:763)
    at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
    at java.net.URLClassLoader.defineClass(URLClassLoader.java:467)
    at java.net.URLClassLoader.access$100(URLClassLoader.java:73)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:368)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:362)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:361)
    at org.sonar.classloader.ClassRealm.loadClassFromSelf(ClassRealm.java:125)
    at org.sonar.classloader.ParentFirstStrategy.loadClass(ParentFirstStrategy.java:37)
    at org.sonar.classloader.ClassRealm.loadClass(ClassRealm.java:87)
    at org.sonar.classloader.ClassRealm.loadClass(ClassRealm.java:76)
    at org.sonar.plugins.swift.SwiftPlugin.getExtensions(SwiftPlugin.java:90)
    at org.sonar.api.SonarPlugin.define(SonarPlugin.java:51)
    at org.sonar.server.plugins.ServerExtensionInstaller.installExtensions(ServerExtensionInstaller.java:63)
    ... 9 common frames omitted
Caused by: java.lang.ClassNotFoundException: org.sonar.api.web.CodeColorizerFormat
    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)
    ... 25 common frames omitted
2017.06.05 13:11:25 INFO  web[][o.s.p.StopWatcher] Stopping process

===

zippy1978 commented 7 years ago

Hi, I have not tested with 6.4 yet : but it is classical everytime a new version is released. I will fix it as soon as I have time.

misterfifi1 commented 7 years ago

hello I have exactly the same issue on 6.4, only on this plugin is not compatible :)

Thanks for your help

misterfifi1 commented 7 years ago

Hello,

I added the missing dependency to the POM, repackaged the JAR and it works. Do you want a PR for this addition?

   <dependency>
        <groupId>org.sonarsource.sonarqube</groupId>
        <artifactId>sonar-plugin-api</artifactId>
        <version>6.3</version>
    </dependency>

Regards,

mosesliao commented 7 years ago

@misterfifi1 where is your PR? I want to give it a try

misterfifi1 commented 7 years ago

Hi @liaogz82,

I just asked if I have to create a PR :)

if you need it I can do it during the weekend.

Regards

mosesliao commented 7 years ago

Ah yes I need it. If you can share the code with me that would be great

marius-bardan commented 7 years ago

have the same issue with 6.4. Is there a PR or jar I can check?

misterfifi1 commented 7 years ago

Hi,

Please find attached the compiled JAR that I am using on Sonar 6.4. I will create the PR right after.

backelite-sonar-swift-plugin-0.3.4.jar.zip

Regards,

Mindbowser commented 7 years ago

Any updates on this? Not able to upgrade the sonar version.

giacgbj commented 7 years ago

@Mindbowser In the meantime you can use @misterfifi1's artifact. According to my tests it works, also for the following release 6.5 (build 27846).

portellaa commented 7 years ago

Thanks @misterfifi1 works like a charm šŸ‘

Tested in SonarQube Version 6.5 (build 27846) šŸŽ‰

Mindbowser commented 7 years ago

Thanks @portellaa and @misterfifi1 . This release worked with Sonar 6.4, but other issue#83 remains open

misterfifi1 commented 7 years ago

@Mindbowser I will try to find a fix this WE, could you ensure help me by summarizing the issues, expected and current behavior? and how to reproduce it?

Thanks

Mindbowser commented 7 years ago

@misterfifi1 If you check Issue#83, then you will see that code smells are getting reported on the portal but no bugs or Vulnerabilities are being seen. Any idea whats wrong? FYI, Same issue was there with Sonar Version 6.3.

Mindbowser commented 7 years ago

@misterfifi1 let me know if you are able to reproduce it, only code smells won't make a lot of sense, so bugs or Vulnerabilities are important to track.

gtatgh commented 7 years ago

Have the same issue with sonar version 6.5 and plugin version 0.3.4

``` 2017.08.16 09:36:14 ERROR web[][o.s.s.p.Platform] Background initialization failed. Stopping SonarQube java.lang.IllegalStateException: Fail to load plugin Swift (Backelite) [backelitesonarswiftplugin] at org.sonar.server.plugins.ServerExtensionInstaller.installExtensions(ServerExtensionInstaller.java:88) at org.sonar.server.platform.platformlevel.PlatformLevel4.start(PlatformLevel4.java:531) at org.sonar.server.platform.Platform.start(Platform.java:231) at org.sonar.server.platform.Platform.startLevel34Containers(Platform.java:205) at org.sonar.server.platform.Platform.access$500(Platform.java:46) at org.sonar.server.platform.Platform$1.lambda$doRun$0(Platform.java:119) at org.sonar.server.platform.Platform$1$$Lambda$44/214952560.run(Unknown Source) at org.sonar.server.platform.Platform$AutoStarterRunnable.runIfNotAborted(Platform.java:391) at org.sonar.server.platform.Platform$1.doRun(Platform.java:119) at org.sonar.server.platform.Platform$AutoStarterRunnable.run(Platform.java:375) at java.lang.Thread.run(Thread.java:745) Caused by: java.lang.NoClassDefFoundError: org/sonar/api/web/CodeColorizerFormat at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClass(ClassLoader.java:760) at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142) at java.net.URLClassLoader.defineClass(URLClassLoader.java:467) at java.net.URLClassLoader.access$100(URLClassLoader.java:73) at java.net.URLClassLoader$1.run(URLClassLoader.java:368) at java.net.URLClassLoader$1.run(URLClassLoader.java:362) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:361) at org.sonar.classloader.ClassRealm.loadClassFromSelf(ClassRealm.java:125) at org.sonar.classloader.ParentFirstStrategy.loadClass(ParentFirstStrategy.java:37) at org.sonar.classloader.ClassRealm.loadClass(ClassRealm.java:87) at org.sonar.classloader.ClassRealm.loadClass(ClassRealm.java:76) at org.sonar.plugins.swift.SwiftPlugin.getExtensions(SwiftPlugin.java:90) at org.sonar.api.SonarPlugin.define(SonarPlugin.java:51) at org.sonar.server.plugins.ServerExtensionInstaller.installExtensions(ServerExtensionInstaller.java:78) ... 10 common frames omitted Caused by: java.lang.ClassNotFoundException: org.sonar.api.web.CodeColorizerFormat 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) ... 26 common frames omitted 2017.08.16 09:36:15 INFO web[][o.s.p.StopWatcher] Stopping process 2017.08.16 09:36:17 INFO web[][o.s.s.p.d.EmbeddedDatabase] Embedded database stopped ```
pbernery commented 7 years ago

FIY, a lot of code of sonar-swift uses deprecated APIs. I suspect these deprecation may not work correctly in 6.4+. I started to port the plugin to the newest API, but there is some work to do.

zippy1978 commented 7 years ago

Hi this is fixed in release 0.3.5 (https://github.com/Backelite/sonar-swift/releases/tag/0.3.5)

gtatgh commented 7 years ago

@pbernery Is the swift plugin completely ported to a new Sonar API?

pbernery commented 7 years ago

Unfortunately no. @zippy1978 found a way to port the existing source code so that it can be used with more recent SonarQube version, but is has not been ported yet to the latest API. As it works, I paused the port of the source code for now.

gtatgh commented 7 years ago

Thanks for the info. Is it possible to share your code you began to port?

pbernery commented 7 years ago

Sure. It is available in the feature/support_for_sonar_6.x branch.

Note that this was very exploratory, not sure I chose the right way to do it.

gtatgh commented 7 years ago

Thank you!

senthilxvalue commented 4 years ago

I have following error display when run SonarQube with objective c

/sonar-reports/lizard-report.xml java.io.FileNotFoundException: /Users/dhemant/Desktop/sonarqube bus/single app Bus staging/SalesGridFinal/sonar-reports/lizard-report.xml (No such file or directory) at java.base/java.io.FileInputStream.open0(Native Method) at java.base/java.io.FileInputStream.open(FileInputStream.java:219) at java.base/java.io.FileInputStream.(FileInputStream.java:157) at java.base/java.io.FileInputStream.(FileInputStream.java:112) at java.base/sun.net.www.protocol.file.FileURLConnection.connect(FileURLConnection.java:86) at java.base/sun.net.www.protocol.file.FileURLConnection.getInputStream(FileURLConnection.java:184) at java.xml/com.sun.org.apache.xerces.internal.impl.XMLEntityManager.setupCurrentEntity(XMLEntityManager.java:652) at java.xml/com.sun.org.apache.xerces.internal.impl.XMLVersionDetector.determineDocVersion(XMLVersionDetector.java:150) at java.xml/com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:860) at java.xml/com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:824) at java.xml/com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:141) at java.xml/com.sun.org.apache.xerces.internal.parsers.DOMParser.parse(DOMParser.java:246) at java.xml/com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderImpl.parse(DocumentBuilderImpl.java:339) at java.xml/javax.xml.parsers.DocumentBuilder.parse(DocumentBuilder.java:206) at org.sonar.plugins.objectivec.complexity.LizardReportParser.parseReport(LizardReportParser.java:76) at org.sonar.plugins.objectivec.complexity.LizardSensor.parseReportsIn(LizardSensor.java:88) at org.sonar.plugins.objectivec.complexity.LizardSensor.analyse(LizardSensor.java:73) at org.sonar.scanner.phases.SensorsExecutor.executeSensor(SensorsExecutor.java:88) at org.sonar.scanner.phases.SensorsExecutor.execute(SensorsExecutor.java:82) at org.sonar.scanner.phases.SensorsExecutor.execute(SensorsExecutor.java:68) at org.sonar.scanner.phases.AbstractPhaseExecutor.execute(AbstractPhaseExecutor.java:88) at org.sonar.scanner.scan.ModuleScanContainer.doAfterStart(ModuleScanContainer.java:177) at org.sonar.core.platform.ComponentContainer.startComponents(ComponentContainer.java:135) at org.sonar.core.platform.ComponentContainer.execute(ComponentContainer.java:121) at org.sonar.scanner.scan.ProjectScanContainer.scan(ProjectScanContainer.java:291) at org.sonar.scanner.scan.ProjectScanContainer.scanRecursively(ProjectScanContainer.java:286) at org.sonar.scanner.scan.ProjectScanContainer.doAfterStart(ProjectScanContainer.java:264) at org.sonar.core.platform.ComponentContainer.startComponents(ComponentContainer.java:135) at org.sonar.core.platform.ComponentContainer.execute(ComponentContainer.java:121) at org.sonar.scanner.task.ScanTask.execute(ScanTask.java:48) at org.sonar.scanner.task.TaskContainer.doAfterStart(TaskContainer.java:84) at org.sonar.core.platform.ComponentContainer.startComponents(ComponentContainer.java:135) at org.sonar.core.platform.ComponentContainer.execute(ComponentContainer.java:121) at org.sonar.scanner.bootstrap.GlobalContainer.executeTask(GlobalContainer.java:121) at org.sonar.batch.bootstrapper.Batch.doExecuteTask(Batch.java:116) at org.sonar.batch.bootstrapper.Batch.execute(Batch.java:71) at org.sonarsource.scanner.api.internal.batch.BatchIsolatedLauncher.execute(BatchIsolatedLauncher.java:46) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:566) 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:189) at org.sonarsource.scanner.api.EmbeddedScanner.execute(EmbeddedScanner.java:138) at org.sonarsource.scanner.cli.Main.execute(Main.java:112) at org.sonarsource.scanner.cli.Main.execute(Main.java:75) at org.sonarsource.scanner.cli.Main.main(Main.java:61)

and also no reports generated?