From 1b4b6c772c73abd943133f453b9cfb5c88811a58 Mon Sep 17 00:00:00 2001 From: Nariman Abdullin Date: Mon, 18 Dec 2023 17:27:58 +0300 Subject: [PATCH] Use diktat-runner:shadow as variant (#1875) - shadow jar as variant is due to Gradle multiply artifacts issue --- diktat-runner/build.gradle.kts | 26 ++++++++++++++++---------- 1 file changed, 16 insertions(+), 10 deletions(-) diff --git a/diktat-runner/build.gradle.kts b/diktat-runner/build.gradle.kts index e16959ab43..42aa58c71d 100644 --- a/diktat-runner/build.gradle.kts +++ b/diktat-runner/build.gradle.kts @@ -1,7 +1,5 @@ import com.saveourtool.diktat.buildutils.configurePublications import com.saveourtool.diktat.buildutils.configurePublishing -import com.github.jengelman.gradle.plugins.shadow.ShadowExtension -import com.github.jengelman.gradle.plugins.shadow.tasks.ShadowJar @Suppress("DSL_SCOPE_VIOLATION", "RUN_IN_SCRIPT") // https://github.com/gradle/gradle/issues/22797 plugins { @@ -19,23 +17,31 @@ dependencies { implementation(projects.diktatRules) } -tasks.named("shadowJar") { +tasks.shadowJar { archiveClassifier.set("shadow") duplicatesStrategy = DuplicatesStrategy.FAIL } +// https://github.com/gradle/gradle/issues/10384#issuecomment-1279708395 +val shadowElement: Configuration by configurations.creating { + isCanBeConsumed = true + isCanBeResolved = false + attributes { + attribute(Category.CATEGORY_ATTRIBUTE, objects.named(Category.LIBRARY)) + attribute(Usage.USAGE_ATTRIBUTE, objects.named(Usage.JAVA_RUNTIME)) + attribute(Bundling.BUNDLING_ATTRIBUTE, objects.named(Bundling.SHADOWED)) + } + outgoing.artifact(tasks.shadowJar) +} +components.named("java").configure { + addVariantsFromConfiguration(shadowElement) {} +} + publishing { publications { create("maven") { from(components["java"]) } - // it creates a publication for shadowJar - create("shadow") { - // https://github.com/johnrengelman/shadow/issues/417#issuecomment-830668442 - project.extensions.configure { - component(this@create) - } - } } } configurePublications()