diff options
Diffstat (limited to 'build-logic/src/main/kotlin/dokkabuild.publish-shadow.gradle.kts')
-rw-r--r-- | build-logic/src/main/kotlin/dokkabuild.publish-shadow.gradle.kts | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/build-logic/src/main/kotlin/dokkabuild.publish-shadow.gradle.kts b/build-logic/src/main/kotlin/dokkabuild.publish-shadow.gradle.kts new file mode 100644 index 00000000..7abb3376 --- /dev/null +++ b/build-logic/src/main/kotlin/dokkabuild.publish-shadow.gradle.kts @@ -0,0 +1,31 @@ +/* + * Copyright 2014-2023 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license. + */ + +import dokkabuild.PublicationName + +plugins { + id("dokkabuild.java") + id("dokkabuild.publish-base") + id("com.github.johnrengelman.shadow") +} + +java { + withSourcesJar() + withJavadocJar() +} + +tasks.shadowJar { + // separate directory because otherwise Gradle complains about multiple tasks writing into the same file + destinationDirectory.set(project.layout.buildDirectory.dir("shadowLibs")) + // removes the `-all` classifier from the artifact name + archiveClassifier.set("") +} + +publishing.publications.register<MavenPublication>(PublicationName.JVM) { + // shadow.component call should be after the shadowJar task is configured in a build script, + // because if not, shadow uses the wrong archiveFile (as we change destinationDirectory and archiveClassifier) + shadow.component(this) + artifact(tasks.named("sourcesJar")) + artifact(tasks.named("javadocJar")) +} |