sonar-detekt
sonar-detekt copied to clipboard
Execution failed
Execution failed for task ':app:sonarqube'.
Given path src/main/java does not exist!
How is this related to the Detekt plugin?
@cortinico
I compiled from source code in the latest master branch.
but I change some library version.
I have marked with ** below
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>io.github.detekt</groupId>
<artifactId>sonar-detekt</artifactId>
<version>2.4.0</version>
<url>https://github.com/detekt/sonar-kotlin</url>
<licenses>
<license>
<name>GNU LGPL 3</name>
<url>https://www.gnu.org/licenses/lgpl-3.0.en.html</url>
<distribution>repo</distribution>
</license>
</licenses>
<packaging>sonar-plugin</packaging>
<properties>
<kotlin.version>**1.4.21**</kotlin.version>
<spek.version>2.0.17</spek.version>
<detekt.version>**1.16.0**</detekt.version>
<sonar.api.version>**9.0.1.46107**</sonar.api.version>
<assertj.version>3.21.0</assertj.version>
<jcommander.version>1.81</jcommander.version>
<mockk.version>1.12.0</mockk.version>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
<kotlin.compiler.jvmTarget>1.8</kotlin.compiler.jvmTarget>
<kotlin.compiler.incremental>true</kotlin.compiler.incremental>
</properties>
<dependencies>
<dependency>
<groupId>org.sonarsource.sonarqube</groupId>
<artifactId>sonar-plugin-api</artifactId>
<version>${sonar.api.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>io.gitlab.arturbosch.detekt</groupId>
<artifactId>detekt-tooling</artifactId>
<version>${detekt.version}</version>
</dependency>
<dependency>
<groupId>io.gitlab.arturbosch.detekt</groupId>
<artifactId>detekt-core</artifactId>
<version>${detekt.version}</version>
</dependency>
<dependency>
<groupId>io.gitlab.arturbosch.detekt</groupId>
<artifactId>detekt-rules</artifactId>
<version>${detekt.version}</version>
</dependency>
<dependency>
<groupId>io.gitlab.arturbosch.detekt</groupId>
<artifactId>detekt-formatting</artifactId>
<version>${detekt.version}</version>
</dependency>
<dependency>
<groupId>org.jetbrains.kotlin</groupId>
<artifactId>kotlin-compiler-embeddable</artifactId>
<version>${kotlin.version}</version>
</dependency>
<dependency>
<groupId>org.jetbrains.kotlin</groupId>
<artifactId>kotlin-stdlib-jdk8</artifactId>
<version>${kotlin.version}</version>
</dependency>
<dependency>
<groupId>org.jetbrains.kotlin</groupId>
<artifactId>kotlin-test-junit</artifactId>
<version>${kotlin.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.jetbrains.kotlinx</groupId>
<artifactId>kotlinx-html-jvm</artifactId>
<version>**0.7.3**</version>
</dependency>
<dependency>
<groupId>org.assertj</groupId>
<artifactId>assertj-core</artifactId>
<version>${assertj.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.spekframework.spek2</groupId>
<artifactId>spek-dsl-jvm</artifactId>
<version>${spek.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.spekframework.spek2</groupId>
<artifactId>spek-runner-junit5</artifactId>
<version>${spek.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>io.mockk</groupId>
<artifactId>mockk</artifactId>
<version>${mockk.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.sonarsource.sonarqube</groupId>
<artifactId>sonar-plugin-api-impl</artifactId>
<version>${sonar.api.version}</version>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<sourceDirectory>${project.basedir}/src/main/kotlin</sourceDirectory>
<testSourceDirectory>${project.basedir}/src/test/kotlin</testSourceDirectory>
<plugins>
<plugin>
<groupId>org.sonarsource.sonar-packaging-maven-plugin</groupId>
<artifactId>sonar-packaging-maven-plugin</artifactId>
<version>1.20.0.405</version>
<extensions>true</extensions>
<configuration>
<pluginKey>detekt</pluginKey>
<pluginName>detekt</pluginName>
<pluginDescription>Sonarqube plugin for Kotlin based on detekt.</pluginDescription>
<pluginClass>io.gitlab.arturbosch.detekt.sonar.DetektPlugin</pluginClass>
<pluginUrl>https://github.com/detekt/sonar-kotlin</pluginUrl>
<pluginSourcesUrl>https://github.com/detekt/sonar-kotlin</pluginSourcesUrl>
<pluginIssueTrackerUrl>https://github.com/detekt/sonar-kotlin/issues</pluginIssueTrackerUrl>
<pluginOrganizationName>detekt Team</pluginOrganizationName>
<pluginOrganizationUrl>https://github.com/detekt</pluginOrganizationUrl>
</configuration>
</plugin>
<plugin>
<artifactId>kotlin-maven-plugin</artifactId>
<groupId>org.jetbrains.kotlin</groupId>
<version>${kotlin.version}</version>
<executions>
<execution>
<id>compile</id>
<goals>
<goal>compile</goal>
</goals>
<configuration>
<args>
<arg>-Xopt-in=kotlin.RequiresOptIn</arg>
</args>
<sourceDirs>
<sourceDir>${project.basedir}/src/main/kotlin</sourceDir>
</sourceDirs>
</configuration>
</execution>
<execution>
<id>test-compile</id>
<goals>
<goal>test-compile</goal>
</goals>
<configuration>
<sourceDirs>
<sourceDir>${project.basedir}/src/test/kotlin</sourceDir>
</sourceDirs>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.1</version>
<executions>
<!-- Replacing default-compile as it is treated specially by maven -->
<execution>
<id>default-compile</id>
<phase>none</phase>
</execution>
<!-- Replacing default-testCompile as it is treated specially by maven -->
<execution>
<id>default-testCompile</id>
<phase>none</phase>
</execution>
<execution>
<id>java-compile</id>
<phase>compile</phase>
<goals>
<goal>compile</goal>
</goals>
</execution>
<execution>
<id>java-test-compile</id>
<phase>test-compile</phase>
<goals>
<goal>testCompile</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.jacoco</groupId>
<artifactId>jacoco-maven-plugin</artifactId>
<version>0.8.7</version>
<executions>
<execution>
<goals>
<goal>prepare-agent</goal>
</goals>
</execution>
<execution>
<id>report</id>
<phase>test</phase>
<goals>
<goal>report</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>com.github.ozsie</groupId>
<artifactId>detekt-maven-plugin</artifactId>
<version>**1.16.0**</version>
<executions>
<execution>
<phase>verify</phase>
<goals>
<goal>check</goal>
</goals>
<configuration>
<excludes>**/resources/**</excludes>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>versions-maven-plugin</artifactId>
<version>2.8.1</version>
</plugin>
</plugins>
</build>
<profiles>
<profile>
<id>sonar</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<properties>
<sonar.host.url>
http://localhost:9000
</sonar.host.url>
</properties>
</profile>
</profiles>
</project>
Can you explain what you're trying to achieve?
My project sonar version: 9.0.1.46107 detekt version:1.16.0
I hope this plugin can support current project.
We are seeing similar issue after upgrading to latest SonarQube (9.3). We are using property sonar.sources=src/main/kotlin which used to work and it works with sonar kotlin scanner. If we leave this property out the scan works but sonar scans the whole directory.
17:23:58 ERROR: Error during SonarScanner execution
17:23:58 java.lang.IllegalArgumentException: Given path src/main/kotlin does not exist!
17:23:58 at io.gitlab.arturbosch.detekt.core.KtTreeCompiler.compile(KtTreeCompiler.kt:22)
17:23:58 at io.gitlab.arturbosch.detekt.core.tooling.ParsingStrategyKt$inputPathsToKtFiles$1.invoke(ParsingStrategy.kt:25)
17:23:58 at io.gitlab.arturbosch.detekt.core.tooling.ParsingStrategyKt$inputPathsToKtFiles$1.invoke(ParsingStrategy.kt:23)
17:23:58 at io.gitlab.arturbosch.detekt.core.tooling.Lifecycle$analyze$filesToAnalyze$1.invoke(Lifecycle.kt:36)
17:23:58 at io.gitlab.arturbosch.detekt.core.tooling.Lifecycle$analyze$filesToAnalyze$1.invoke(Lifecycle.kt:36)
17:23:58 at io.gitlab.arturbosch.detekt.core.util.PerformanceMonitor.measure(PerformanceMonitor.kt:42)
17:23:58 at io.gitlab.arturbosch.detekt.core.tooling.Lifecycle$DefaultImpls.measure(Lifecycle.kt:32)
17:23:58 at io.gitlab.arturbosch.detekt.core.tooling.Lifecycle$DefaultImpls.analyze(Lifecycle.kt:36)
17:23:58 at io.gitlab.arturbosch.detekt.core.tooling.DefaultLifecycle.analyze(Lifecycle.kt:59)
17:23:58 at io.gitlab.arturbosch.detekt.core.tooling.AnalysisFacade$runAnalysis$1.invoke(AnalysisFacade.kt:43)
17:23:58 at io.gitlab.arturbosch.detekt.core.tooling.AnalysisFacade$runAnalysis$1.invoke(AnalysisFacade.kt:42)
17:23:58 at io.gitlab.arturbosch.detekt.core.tooling.ProcessingSpecSettingsBridgeKt.withSettings(ProcessingSpecSettingsBridge.kt:26)
17:23:58 at io.gitlab.arturbosch.detekt.core.tooling.AnalysisFacade.runAnalysis$detekt_core(AnalysisFacade.kt:42)
17:23:58 at io.gitlab.arturbosch.detekt.core.tooling.AnalysisFacade.run(AnalysisFacade.kt:25)
17:23:58 at io.gitlab.arturbosch.detekt.sonar.sensor.DetektSensor.execute(DetektSensor.kt:23)
17:23:58 at org.sonar.scanner.sensor.AbstractSensorWrapper.analyse(AbstractSensorWrapper.java:64)
17:23:58 at org.sonar.scanner.sensor.ModuleSensorsExecutor.execute(ModuleSensorsExecutor.java:85)
17:23:58 at org.sonar.scanner.sensor.ModuleSensorsExecutor.lambda$execute$1(ModuleSensorsExecutor.java:59)
17:23:58 at org.sonar.scanner.sensor.ModuleSensorsExecutor.withModuleStrategy(ModuleSensorsExecutor.java:77)
17:23:58 at org.sonar.scanner.sensor.ModuleSensorsExecutor.execute(ModuleSensorsExecutor.java:59)
17:23:58 at org.sonar.scanner.scan.ModuleScanContainer.doAfterStart(ModuleScanContainer.java:79)
17:23:58 at org.sonar.core.platform.ComponentContainer.startComponents(ComponentContainer.java:137)
17:23:58 at org.sonar.core.platform.ComponentContainer.execute(ComponentContainer.java:123)
17:23:58 at org.sonar.scanner.scan.ProjectScanContainer.scan(ProjectScanContainer.java:384)
17:23:58 at org.sonar.scanner.scan.ProjectScanContainer.scanRecursively(ProjectScanContainer.java:380)
17:23:58 at org.sonar.scanner.scan.ProjectScanContainer.doAfterStart(ProjectScanContainer.java:349)
17:23:58 at org.sonar.core.platform.ComponentContainer.startComponents(ComponentContainer.java:137)
17:23:58 at org.sonar.core.platform.ComponentContainer.execute(ComponentContainer.java:123)
17:23:58 at org.sonar.scanner.bootstrap.GlobalContainer.doAfterStart(GlobalContainer.java:136)
17:23:58 at org.sonar.core.platform.ComponentContainer.startComponents(ComponentContainer.java:137)
17:23:58 at org.sonar.core.platform.ComponentContainer.execute(ComponentContainer.java:123)
17:23:58 at org.sonar.batch.bootstrapper.Batch.doExecute(Batch.java:72)
17:23:58 at org.sonar.batch.bootstrapper.Batch.execute(Batch.java:66)
17:23:58 at org.sonarsource.scanner.api.internal.batch.BatchIsolatedLauncher.execute(BatchIsolatedLauncher.java:46)
17:23:58 at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
17:23:58 at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
17:23:58 at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
17:23:58 at java.base/java.lang.reflect.Method.invoke(Method.java:566)
17:23:58 at org.sonarsource.scanner.api.internal.IsolatedLauncherProxy.invoke(IsolatedLauncherProxy.java:60)
17:23:58 at com.sun.proxy.$Proxy0.execute(Unknown Source)
17:23:58 at org.sonarsource.scanner.api.EmbeddedScanner.doExecute(EmbeddedScanner.java:189)
17:23:58 at org.sonarsource.scanner.api.EmbeddedScanner.execute(EmbeddedScanner.java:138)
17:23:58 at org.sonarsource.scanner.cli.Main.execute(Main.java:112)
17:23:58 at org.sonarsource.scanner.cli.Main.execute(Main.java:75)
17:23:58 at org.sonarsource.scanner.cli.Main.main(Main.java:61)
Edit: So it looks like relative paths in sonar.sources is broken for detekt analysis with latest SonarQube. Absolute path is working.
Edit: Actually this might be related to #145 instead of SonarQube upgrade, because I think we upgraded the sonar-detekt plugin at the same time. Maybe #145 should append paths in sonar.sources to basepath if they are not absolute paths?
We have a similar issue, but in our case we have sonar.modules (with sonar.sources/sonar.test) defined and cant find the correct path to the sources/test after plugin upgrade.
ERROR: Error during SonarScanner execution
12:43:39 java.lang.IllegalArgumentException: Given path src/main/java does not exist!
12:43:39 at io.gitlab.arturbosch.detekt.core.KtTreeCompiler.compile(KtTreeCompiler.kt:22)
12:43:39 at io.gitlab.arturbosch.detekt.core.tooling.ParsingStrategyKt$inputPathsToKtFiles$1.invoke(ParsingStrategy.kt:25)
12:43:39 at io.gitlab.arturbosch.detekt.core.tooling.ParsingStrategyKt$inputPathsToKtFiles$1.invoke(ParsingStrategy.kt:23)
12:43:39 at io.gitlab.arturbosch.detekt.core.tooling.Lifecycle$analyze$filesToAnalyze$1.invoke(Lifecycle.kt:36)
12:43:39 at io.gitlab.arturbosch.detekt.core.tooling.Lifecycle$analyze$filesToAnalyze$1.invoke(Lifecycle.kt:36)
12:43:39 at io.gitlab.arturbosch.detekt.core.util.PerformanceMonitor.measure(PerformanceMonitor.kt:42)
12:43:39 at io.gitlab.arturbosch.detekt.core.tooling.Lifecycle$DefaultImpls.measure(Lifecycle.kt:32)
12:43:39 at io.gitlab.arturbosch.detekt.core.tooling.Lifecycle$DefaultImpls.analyze(Lifecycle.kt:36)
12:43:39 at io.gitlab.arturbosch.detekt.core.tooling.DefaultLifecycle.analyze(Lifecycle.kt:59)
12:43:39 at io.gitlab.arturbosch.detekt.core.tooling.AnalysisFacade$runAnalysis$1.invoke(AnalysisFacade.kt:43)
12:43:39 at io.gitlab.arturbosch.detekt.core.tooling.AnalysisFacade$runAnalysis$1.invoke(AnalysisFacade.kt:42)
12:43:39 at io.gitlab.arturbosch.detekt.core.tooling.ProcessingSpecSettingsBridgeKt.withSettings(ProcessingSpecSettingsBridge.kt:26)
12:43:39 at io.gitlab.arturbosch.detekt.core.tooling.AnalysisFacade.runAnalysis$detekt_core(AnalysisFacade.kt:42)
12:43:39 at io.gitlab.arturbosch.detekt.core.tooling.AnalysisFacade.run(AnalysisFacade.kt:25)
12:43:39 at io.gitlab.arturbosch.detekt.sonar.sensor.DetektSensor.execute(DetektSensor.kt:23)
12:43:39 at org.sonar.scanner.sensor.AbstractSensorWrapper.analyse(AbstractSensorWrapper.java:48)
12:43:39 at org.sonar.scanner.sensor.ModuleSensorsExecutor.execute(ModuleSensorsExecutor.java:85)
12:43:39 at org.sonar.scanner.sensor.ModuleSensorsExecutor.lambda$execute$1(ModuleSensorsExecutor.java:59)
12:43:39 at org.sonar.scanner.sensor.ModuleSensorsExecutor.withModuleStrategy(ModuleSensorsExecutor.java:77)
12:43:39 at org.sonar.scanner.sensor.ModuleSensorsExecutor.execute(ModuleSensorsExecutor.java:59)
12:43:39 at org.sonar.scanner.scan.ModuleScanContainer.doAfterStart(ModuleScanContainer.java:82)
12:43:39 at org.sonar.core.platform.ComponentContainer.startComponents(ComponentContainer.java:137)
12:43:39 at org.sonar.core.platform.ComponentContainer.execute(ComponentContainer.java:123)
12:43:39 at org.sonar.scanner.scan.ProjectScanContainer.scan(ProjectScanContainer.java:392)
12:43:39 at org.sonar.scanner.scan.ProjectScanContainer.scanRecursively(ProjectScanContainer.java:388)
12:43:39 at org.sonar.scanner.scan.ProjectScanContainer.scanRecursively(ProjectScanContainer.java:385)
12:43:39 at org.sonar.scanner.scan.ProjectScanContainer.doAfterStart(ProjectScanContainer.java:357)
12:43:39 at org.sonar.core.platform.ComponentContainer.startComponents(ComponentContainer.java:137)
12:43:39 at org.sonar.core.platform.ComponentContainer.execute(ComponentContainer.java:123)
12:43:39 at org.sonar.scanner.bootstrap.GlobalContainer.doAfterStart(GlobalContainer.java:150)
12:43:39 at org.sonar.core.platform.ComponentContainer.startComponents(ComponentContainer.java:137)
12:43:39 at org.sonar.core.platform.ComponentContainer.execute(ComponentContainer.java:123)
12:43:39 at org.sonar.batch.bootstrapper.Batch.doExecute(Batch.java:72)
12:43:39 at org.sonar.batch.bootstrapper.Batch.execute(Batch.java:66)
12:43:39 at org.sonarsource.scanner.api.internal.batch.BatchIsolatedLauncher.execute(BatchIsolatedLauncher.java:46)
12:43:39 at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
12:43:39 at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
12:43:39 at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
12:43:39 at java.base/java.lang.reflect.Method.invoke(Unknown Source)
12:43:39 at org.sonarsource.scanner.api.internal.IsolatedLauncherProxy.invoke(IsolatedLauncherProxy.java:60)
12:43:39 at com.sun.proxy.$Proxy0.execute(Unknown Source)
12:43:39 at org.sonarsource.scanner.api.EmbeddedScanner.doExecute(EmbeddedScanner.java:189)
12:43:39 at org.sonarsource.scanner.api.EmbeddedScanner.execute(EmbeddedScanner.java:138)
12:43:39 at org.sonarsource.scanner.cli.Main.execute(Main.java:112)
12:43:39 at org.sonarsource.scanner.cli.Main.execute(Main.java:75)
12:43:39 at org.sonarsource.scanner.cli.Main.main(Main.java:61)
Stuck with the same issue.