Skip to content

Commit bee7157

Browse files
committed
use shaded libs to improve detekt stability
1 parent 9db322a commit bee7157

4 files changed

Lines changed: 46 additions & 9 deletions

File tree

build.gradle.kts

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,10 @@ import org.jetbrains.intellij.tasks.RunPluginVerifierTask.FailureLevel.INVALID_P
55
project.group = "io.gitlab.arturbosch.detekt"
66
project.version = libs.versions.detektIJ.get()
77

8-
repositories {
9-
mavenCentral()
8+
allprojects {
9+
repositories {
10+
mavenCentral()
11+
}
1012
}
1113

1214
plugins {
@@ -17,13 +19,12 @@ plugins {
1719
}
1820

1921
dependencies {
20-
implementation(libs.detekt.api)
21-
implementation(libs.detekt.tooling)
22-
23-
runtimeOnly(libs.detekt.core)
24-
runtimeOnly(libs.detekt.rules)
25-
runtimeOnly(libs.detekt.formatting)
22+
// Required for IDE
23+
compileOnly(project(":libs"))
24+
// use shadowed libs
25+
implementation(project(":libs", "shadow"))
2626

27+
testCompileOnly(project(":libs"))
2728
testRuntimeOnly(libs.junit.platform)
2829

2930
testImplementation(libs.detekt.testUtils)

libs/build.gradle.kts

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
import com.github.jengelman.gradle.plugins.shadow.tasks.ShadowJar
2+
3+
/**
4+
* shaded libs for detekt-intellij-plugin
5+
*
6+
* detekt requires the kotlin-compiler-embeddable which is correct version,
7+
* but it conflicts with kotlin intellij plugins.
8+
*/
9+
plugins {
10+
kotlin("jvm")
11+
`java-library`
12+
id("com.github.johnrengelman.shadow") version "8.1.1"
13+
}
14+
15+
dependencies {
16+
api(libs.detekt.api)
17+
api(libs.detekt.tooling)
18+
19+
api(libs.detekt.core)
20+
api(libs.detekt.rules)
21+
api(libs.detekt.formatting)
22+
}
23+
24+
kotlin {
25+
jvmToolchain(11)
26+
}
27+
28+
tasks {
29+
withType<ShadowJar> {
30+
archiveBaseName = "detekt-intellij-plugin-libs-shaded"
31+
mergeServiceFiles()
32+
relocate("org.jetbrains.kotlin.psi", "detekt.shadow.org.jetbrains.kotlin.psi")
33+
}
34+
}

settings.gradle.kts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,3 +28,5 @@ gradleEnterprise {
2828
}
2929
}
3030
}
31+
32+
include(":libs")

src/test/kotlin/io/gitlab/arturbosch/detekt/idea/DetektStub.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ import io.gitlab.arturbosch.detekt.api.Severity
2020
import io.gitlab.arturbosch.detekt.api.SourceLocation
2121
import io.gitlab.arturbosch.detekt.api.TextLocation
2222
import org.jetbrains.kotlin.com.intellij.openapi.util.Key
23-
import org.jetbrains.kotlin.psi.KtFile
23+
import detekt.shadow.org.jetbrains.kotlin.psi.KtFile
2424
import org.jetbrains.kotlin.resolve.BindingContext
2525
import java.nio.file.Path
2626
import java.nio.file.Paths

0 commit comments

Comments
 (0)