From 14d9ec9fb299dcd212657e05adf6d27ada60f304 Mon Sep 17 00:00:00 2001 From: Vyacheslav Gerasimov Date: Tue, 29 Jan 2019 17:47:37 +0300 Subject: [PATCH] Build: Use javadocJar helper to specify artifact explicitly Creating javadocJar task for every project produces lots of unnecessary tasks, some project don't even have code. Jar task without outDir property set fails idea import with gradle 5.0+ --- build.gradle.kts | 4 ---- libraries/commonConfiguration.gradle | 5 ++++- libraries/kotlin.test/annotations-common/build.gradle | 5 +++-- libraries/kotlin.test/common/build.gradle | 3 ++- libraries/kotlin.test/js/build.gradle | 3 ++- libraries/kotlin.test/junit/build.gradle | 3 ++- libraries/kotlin.test/junit5/build.gradle | 3 ++- libraries/kotlin.test/jvm/build.gradle | 3 ++- libraries/kotlin.test/testng/build.gradle | 3 ++- libraries/stdlib/common/build.gradle | 3 ++- libraries/stdlib/jdk7/build.gradle | 3 ++- libraries/stdlib/jdk8/build.gradle | 3 ++- libraries/stdlib/js/build.gradle | 3 ++- libraries/stdlib/jvm/build.gradle | 3 ++- libraries/tools/kotlin-allopen/build.gradle | 3 ++- libraries/tools/kotlin-annotations-jvm/build.gradle | 3 ++- libraries/tools/kotlin-noarg/build.gradle | 3 ++- libraries/tools/kotlin-sam-with-receiver/build.gradle | 3 ++- libraries/tools/kotlin-serialization-unshaded/build.gradle | 5 +++-- libraries/tools/kotlin-serialization/build.gradle | 3 ++- libraries/tools/script-runtime/build.gradle | 3 ++- 21 files changed, 44 insertions(+), 26 deletions(-) diff --git a/build.gradle.kts b/build.gradle.kts index 247e408b795..8bf0628168f 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -338,10 +338,6 @@ allprojects { enabled = false } - task("javadocJar") { - classifier = "javadoc" - } - tasks.withType { duplicatesStrategy = DuplicatesStrategy.EXCLUDE } diff --git a/libraries/commonConfiguration.gradle b/libraries/commonConfiguration.gradle index a8826dbe17b..d1aa245e619 100644 --- a/libraries/commonConfiguration.gradle +++ b/libraries/commonConfiguration.gradle @@ -213,10 +213,13 @@ ext.configurePublishing = { Project project -> task publish(dependsOn: uploadArchives) } - } allprojects { project -> + project.ext.javadocJar = { lambda = {} -> + ArtifactsKt.javadocJar(project, lambda) + } + dependencies.ext.kotlinStdlib = { suffix -> DependenciesKt.kotlinStdlib(project, suffix) } diff --git a/libraries/kotlin.test/annotations-common/build.gradle b/libraries/kotlin.test/annotations-common/build.gradle index fe8da286ca4..c759bf60454 100644 --- a/libraries/kotlin.test/annotations-common/build.gradle +++ b/libraries/kotlin.test/annotations-common/build.gradle @@ -27,5 +27,6 @@ task sourcesJar(type: Jar, dependsOn: classes) { artifacts { archives sourcesJar - archives javadocJar -} \ No newline at end of file +} + +javadocJar() \ No newline at end of file diff --git a/libraries/kotlin.test/common/build.gradle b/libraries/kotlin.test/common/build.gradle index 7546535dddb..99e789d167e 100644 --- a/libraries/kotlin.test/common/build.gradle +++ b/libraries/kotlin.test/common/build.gradle @@ -29,9 +29,10 @@ classes.dependsOn.remove("compileJava") artifacts { archives sourcesJar - archives javadocJar } +javadocJar() + compileKotlinCommon { kotlinOptions { freeCompilerArgs = [ diff --git a/libraries/kotlin.test/js/build.gradle b/libraries/kotlin.test/js/build.gradle index 9e2fd25cd53..abc06f8fd64 100644 --- a/libraries/kotlin.test/js/build.gradle +++ b/libraries/kotlin.test/js/build.gradle @@ -44,9 +44,10 @@ task sourcesJar(type: Jar, dependsOn: classes) { artifacts { archives sourcesJar - archives javadocJar } +javadocJar() + task distJs(type: Copy) { dependsOn(compileKotlin2Js) from(compileKotlin2Js.kotlinOptions.outputFile) diff --git a/libraries/kotlin.test/junit/build.gradle b/libraries/kotlin.test/junit/build.gradle index f0d541f60e4..45f0b300d4e 100644 --- a/libraries/kotlin.test/junit/build.gradle +++ b/libraries/kotlin.test/junit/build.gradle @@ -24,9 +24,10 @@ jar { artifacts { archives sourcesJar - archives javadocJar } +javadocJar() + dist { from (jar, sourcesJar) } diff --git a/libraries/kotlin.test/junit5/build.gradle b/libraries/kotlin.test/junit5/build.gradle index 2a357884bf2..67b2d059eeb 100644 --- a/libraries/kotlin.test/junit5/build.gradle +++ b/libraries/kotlin.test/junit5/build.gradle @@ -24,9 +24,10 @@ jar { artifacts { archives sourcesJar - archives javadocJar } +javadocJar() + dist { from (jar, sourcesJar) } diff --git a/libraries/kotlin.test/jvm/build.gradle b/libraries/kotlin.test/jvm/build.gradle index 047bf95738c..4dc65daa8b2 100644 --- a/libraries/kotlin.test/jvm/build.gradle +++ b/libraries/kotlin.test/jvm/build.gradle @@ -47,10 +47,11 @@ task modularJar(type: Jar) { artifacts { archives sourcesJar - archives javadocJar archives modularJar } +javadocJar() + dist { from (jar, sourcesJar) } diff --git a/libraries/kotlin.test/testng/build.gradle b/libraries/kotlin.test/testng/build.gradle index 0cf8bb1b780..510a13f5b33 100644 --- a/libraries/kotlin.test/testng/build.gradle +++ b/libraries/kotlin.test/testng/build.gradle @@ -21,9 +21,10 @@ jar { artifacts { archives sourcesJar - archives javadocJar } +javadocJar() + dist { from (jar, sourcesJar) } diff --git a/libraries/stdlib/common/build.gradle b/libraries/stdlib/common/build.gradle index c9f1b8903c4..1505b5d28ef 100644 --- a/libraries/stdlib/common/build.gradle +++ b/libraries/stdlib/common/build.gradle @@ -103,9 +103,10 @@ configurations { artifacts { archives sourcesJar sources sourcesJar - archives javadocJar } +javadocJar() + // TODO: call the "dist" task instead, once we need to publish kotlin-stdlib-common.jar with the compiler distribution task distCommon(type: Copy) { from(jar) diff --git a/libraries/stdlib/jdk7/build.gradle b/libraries/stdlib/jdk7/build.gradle index 7b19f4c53af..7b86beee3e9 100644 --- a/libraries/stdlib/jdk7/build.gradle +++ b/libraries/stdlib/jdk7/build.gradle @@ -58,10 +58,11 @@ task modularJar(type: Jar) { artifacts { archives sourcesJar - archives javadocJar archives modularJar } +javadocJar() + dist { from (jar, sourcesJar) } diff --git a/libraries/stdlib/jdk8/build.gradle b/libraries/stdlib/jdk8/build.gradle index 549c9069145..f04ffad8101 100644 --- a/libraries/stdlib/jdk8/build.gradle +++ b/libraries/stdlib/jdk8/build.gradle @@ -61,10 +61,11 @@ task modularJar(type: Jar) { artifacts { archives sourcesJar - archives javadocJar archives modularJar } +javadocJar() + dist { from (jar, sourcesJar) } diff --git a/libraries/stdlib/js/build.gradle b/libraries/stdlib/js/build.gradle index c061b68faee..d8b219613a9 100644 --- a/libraries/stdlib/js/build.gradle +++ b/libraries/stdlib/js/build.gradle @@ -345,9 +345,10 @@ artifacts { runtime mergedJar archives mergedJar archives sourcesJar - archives javadocJar } +javadocJar() + task distJs(type: Copy) { from(compileJs) into "$distDir/js" diff --git a/libraries/stdlib/jvm/build.gradle b/libraries/stdlib/jvm/build.gradle index cf3187b0542..4d52d43e7cd 100644 --- a/libraries/stdlib/jvm/build.gradle +++ b/libraries/stdlib/jvm/build.gradle @@ -137,10 +137,11 @@ task modularJar(type: Jar) { artifacts { archives sourcesJar - archives javadocJar archives modularJar } +javadocJar() + dist { dependsOn distMavenSources diff --git a/libraries/tools/kotlin-allopen/build.gradle b/libraries/tools/kotlin-allopen/build.gradle index a1a5459f975..f46a6c9b468 100644 --- a/libraries/tools/kotlin-allopen/build.gradle +++ b/libraries/tools/kotlin-allopen/build.gradle @@ -40,9 +40,10 @@ ArtifactsKt.runtimeJar(project, EmbeddableKt.rewriteDepsToShadedCompiler(project artifacts { archives sourcesJar - archives javadocJar } +javadocJar() + pluginBundle { plugins { kotlinAllopenPlugin { diff --git a/libraries/tools/kotlin-annotations-jvm/build.gradle b/libraries/tools/kotlin-annotations-jvm/build.gradle index 0de7ab7dbfc..8b96b516037 100644 --- a/libraries/tools/kotlin-annotations-jvm/build.gradle +++ b/libraries/tools/kotlin-annotations-jvm/build.gradle @@ -21,9 +21,10 @@ sourceSets { artifacts { archives sourcesJar - archives javadocJar } +javadocJar() + dist { from (jar, sourcesJar) } diff --git a/libraries/tools/kotlin-noarg/build.gradle b/libraries/tools/kotlin-noarg/build.gradle index 9215d6ed60b..3b4bc029f5a 100644 --- a/libraries/tools/kotlin-noarg/build.gradle +++ b/libraries/tools/kotlin-noarg/build.gradle @@ -46,9 +46,10 @@ ArtifactsKt.runtimeJar(project, EmbeddableKt.rewriteDepsToShadedCompiler(project artifacts { archives sourcesJar - archives javadocJar } +javadocJar() + pluginBundle { plugins { kotlinNoargPlugin { diff --git a/libraries/tools/kotlin-sam-with-receiver/build.gradle b/libraries/tools/kotlin-sam-with-receiver/build.gradle index 915cc39c599..ef3c88195f9 100644 --- a/libraries/tools/kotlin-sam-with-receiver/build.gradle +++ b/libraries/tools/kotlin-sam-with-receiver/build.gradle @@ -46,7 +46,8 @@ ArtifactsKt.runtimeJar(project, EmbeddableKt.rewriteDepsToShadedCompiler(project artifacts { archives sourcesJar - archives javadocJar } +javadocJar() + test.executable = "${JDK_18}/bin/java" \ No newline at end of file diff --git a/libraries/tools/kotlin-serialization-unshaded/build.gradle b/libraries/tools/kotlin-serialization-unshaded/build.gradle index fe3d69871f5..2519801c580 100644 --- a/libraries/tools/kotlin-serialization-unshaded/build.gradle +++ b/libraries/tools/kotlin-serialization-unshaded/build.gradle @@ -21,5 +21,6 @@ ArtifactsKt.runtimeJar(project, jar, {}) artifacts { archives sourcesJar - archives javadocJar -} \ No newline at end of file +} + +javadocJar() diff --git a/libraries/tools/kotlin-serialization/build.gradle b/libraries/tools/kotlin-serialization/build.gradle index 1e55c99e4cd..fde83719449 100644 --- a/libraries/tools/kotlin-serialization/build.gradle +++ b/libraries/tools/kotlin-serialization/build.gradle @@ -29,5 +29,6 @@ ArtifactsKt.runtimeJar(project, EmbeddableKt.rewriteDepsToShadedCompiler(project artifacts { archives sourcesJar - archives javadocJar } + +javadocJar() diff --git a/libraries/tools/script-runtime/build.gradle b/libraries/tools/script-runtime/build.gradle index 9dd8ce68fe3..2d1d3f45fd7 100644 --- a/libraries/tools/script-runtime/build.gradle +++ b/libraries/tools/script-runtime/build.gradle @@ -33,10 +33,11 @@ jar { artifacts { archives sourcesJar - archives javadocJar mainJar jar } +javadocJar() + dist { from (jar, sourcesJar) }