Skip to content

Commit 1b4b6c7

Browse files
authored
Use diktat-runner:shadow as variant (#1875)
- shadow jar as variant is due to Gradle multiply artifacts issue
1 parent e51bcf6 commit 1b4b6c7

File tree

1 file changed

+16
-10
lines changed

1 file changed

+16
-10
lines changed

diktat-runner/build.gradle.kts

Lines changed: 16 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,5 @@
11
import com.saveourtool.diktat.buildutils.configurePublications
22
import com.saveourtool.diktat.buildutils.configurePublishing
3-
import com.github.jengelman.gradle.plugins.shadow.ShadowExtension
4-
import com.github.jengelman.gradle.plugins.shadow.tasks.ShadowJar
53

64
@Suppress("DSL_SCOPE_VIOLATION", "RUN_IN_SCRIPT") // https://github.com/gradle/gradle/issues/22797
75
plugins {
@@ -19,23 +17,31 @@ dependencies {
1917
implementation(projects.diktatRules)
2018
}
2119

22-
tasks.named<ShadowJar>("shadowJar") {
20+
tasks.shadowJar {
2321
archiveClassifier.set("shadow")
2422
duplicatesStrategy = DuplicatesStrategy.FAIL
2523
}
2624

25+
// https://github.com/gradle/gradle/issues/10384#issuecomment-1279708395
26+
val shadowElement: Configuration by configurations.creating {
27+
isCanBeConsumed = true
28+
isCanBeResolved = false
29+
attributes {
30+
attribute(Category.CATEGORY_ATTRIBUTE, objects.named(Category.LIBRARY))
31+
attribute(Usage.USAGE_ATTRIBUTE, objects.named(Usage.JAVA_RUNTIME))
32+
attribute(Bundling.BUNDLING_ATTRIBUTE, objects.named(Bundling.SHADOWED))
33+
}
34+
outgoing.artifact(tasks.shadowJar)
35+
}
36+
components.named<AdhocComponentWithVariants>("java").configure {
37+
addVariantsFromConfiguration(shadowElement) {}
38+
}
39+
2740
publishing {
2841
publications {
2942
create<MavenPublication>("maven") {
3043
from(components["java"])
3144
}
32-
// it creates a publication for shadowJar
33-
create<MavenPublication>("shadow") {
34-
// https://github.com/johnrengelman/shadow/issues/417#issuecomment-830668442
35-
project.extensions.configure<ShadowExtension> {
36-
component(this@create)
37-
}
38-
}
3945
}
4046
}
4147
configurePublications()

0 commit comments

Comments
 (0)