Skip to content

Commit d4807b0

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

File tree

3 files changed

+45
-8
lines changed

3 files changed

+45
-8
lines changed

build.gradle.kts

+9-8
Original file line numberDiff line numberDiff line change
@@ -5,24 +5,25 @@ 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 {
1315
alias(libs.plugins.kotlin.jvm)
1416
alias(libs.plugins.intellij)
1517
alias(libs.plugins.versions)
1618
alias(libs.plugins.github.release)
19+
id("project-report")
1720
}
1821

1922
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)
23+
// Required for IDE
24+
implementation(project(":libs"))
25+
// use shadowed libs
26+
compileOnly(project(":libs", "shadow"))
2627

2728
testRuntimeOnly(libs.junit.platform)
2829

libs/build.gradle.kts

+34
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

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

0 commit comments

Comments
 (0)