Idean / sonar-swift

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

Sensor Objective-C Squid fails during scan #273

Open sherbie opened 4 years ago

sherbie commented 4 years ago

New Issue Checklist

Issue Description

The sonarscanner is executed by a Jenkins pipeline on a python project. Execution fails when the Sensor Objective-C Squid sensor runs.

Command executed
/home/jenkins/agent/tools/hudson.plugins.sonar.SonarRunnerInstallation/sonarscanner/bin/sonar-scanner -Dsonar.projectVersion=1.1.2 -Dsonar.branch.name=master -Dsonar.gitlab.commit_sha=93792eb1c6f5f775f3f5721d7203d43bb4cbc4f0 -Dsonar.gitlab.project_id=my-project -Dsonar.gitlab.ref_name=feature-migration

Environment

INFO: SonarScanner 4.4.0.2170
INFO: Java 1.8.0_242 Oracle Corporation (64-bit)
INFO: Linux 4.14.138+ amd64
INFO: User cache: /home/jenkins/.sonar/cache
INFO: Scanner configuration file: /home/jenkins/agent/tools/hudson.plugins.sonar.SonarRunnerInstallation/sonarscanner/conf/sonar-scanner.properties
INFO: Project root configuration file: /home/jenkins/agent/workspace/feature-migration/sonar-project.properties
INFO: Analyzing on SonarQube server 7.7.0
INFO: Default locale: "en", source code encoding: "UTF-8" (analysis is platform dependent)
 Stack trace
INFO: Sensor Objective-C Squid [backelitesonarswiftplugin]
INFO: ------------------------------------------------------------------------
INFO: EXECUTION FAILURE
INFO: ------------------------------------------------------------------------
INFO: Total time: 8.619s
INFO: Final Memory: 21M/228M
INFO: ------------------------------------------------------------------------
ERROR: Error during SonarScanner execution
java.lang.UnsupportedOperationException: Metric 'files' should not be computed by a Sensor
    at org.sonar.scanner.sensor.DefaultSensorStorage.saveMeasure(DefaultSensorStorage.java:168)
    at org.sonar.scanner.sensor.DefaultSensorStorage.store(DefaultSensorStorage.java:132)
    at org.sonar.api.batch.sensor.measure.internal.DefaultMeasure.doSave(DefaultMeasure.java:95)
    at org.sonar.api.batch.sensor.internal.DefaultStorable.save(DefaultStorable.java:45)
    at com.backelite.sonarqube.commons.MeasureUtil.saveMeasure(MeasureUtil.java:34)
    at com.backelite.sonarqube.objectivec.ObjectiveCSquidSensor.saveMeasures(ObjectiveCSquidSensor.java:89)
    at com.backelite.sonarqube.objectivec.ObjectiveCSquidSensor.save(ObjectiveCSquidSensor.java:83)
    at com.backelite.sonarqube.objectivec.ObjectiveCSquidSensor.execute(ObjectiveCSquidSensor.java:145)
    at org.sonar.scanner.sensor.AbstractSensorWrapper.analyse(AbstractSensorWrapper.java:48)
    at org.sonar.scanner.sensor.ModuleSensorsExecutor.execute(ModuleSensorsExecutor.java:85)
    at org.sonar.scanner.sensor.ModuleSensorsExecutor.lambda$execute$1(ModuleSensorsExecutor.java:59)
    at org.sonar.scanner.sensor.ModuleSensorsExecutor.withModuleStrategy(ModuleSensorsExecutor.java:77)
    at org.sonar.scanner.sensor.ModuleSensorsExecutor.execute(ModuleSensorsExecutor.java:59)
    at org.sonar.scanner.scan.ModuleScanContainer.doAfterStart(ModuleScanContainer.java:82)
    at org.sonar.core.platform.ComponentContainer.startComponents(ComponentContainer.java:136)
    at org.sonar.core.platform.ComponentContainer.execute(ComponentContainer.java:122)
    at org.sonar.scanner.scan.ProjectScanContainer.scan(ProjectScanContainer.java:359)
    at org.sonar.scanner.scan.ProjectScanContainer.scanRecursively(ProjectScanContainer.java:354)
    at org.sonar.scanner.scan.ProjectScanContainer.doAfterStart(ProjectScanContainer.java:317)
    at org.sonar.core.platform.ComponentContainer.startComponents(ComponentContainer.java:136)
    at org.sonar.core.platform.ComponentContainer.execute(ComponentContainer.java:122)
    at org.sonar.scanner.bootstrap.GlobalContainer.doAfterStart(GlobalContainer.java:128)
    at org.sonar.core.platform.ComponentContainer.startComponents(ComponentContainer.java:136)
    at org.sonar.core.platform.ComponentContainer.execute(ComponentContainer.java:122)
    at org.sonar.batch.bootstrapper.Batch.doExecute(Batch.java:73)
    at org.sonar.batch.bootstrapper.Batch.execute(Batch.java:67)
    at org.sonarsource.scanner.api.internal.batch.BatchIsolatedLauncher.execute(BatchIsolatedLauncher.java:46)
    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: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) 
sherbie commented 4 years ago

I believe this may be related to https://github.com/Idean/sonar-swift/pull/238