From 29d2679e8d885192e9e73c29a34b17e218a78c38 Mon Sep 17 00:00:00 2001 From: Alexey Tsvetkov Date: Tue, 30 Jan 2018 02:29:50 +0300 Subject: [PATCH] Do not configure dist task for every published module This change avoids compiling kotlin-compiler-embeddable, kotlin-gradle-plugin, and other gradle plugins, when running `./gradlew dist` --- libraries/commonConfiguration.gradle | 32 +++++++++++-------- .../annotations-common/build.gradle | 1 + libraries/kotlin.test/common/build.gradle | 1 + libraries/kotlin.test/js/build.gradle | 1 + libraries/kotlin.test/junit/build.gradle | 1 + libraries/kotlin.test/jvm/build.gradle | 1 + libraries/stdlib/build.gradle | 1 + libraries/stdlib/common/build.gradle | 1 + libraries/stdlib/jdk7/build.gradle | 1 + libraries/stdlib/jdk8/build.gradle | 1 + libraries/stdlib/jre7/build.gradle | 1 + libraries/stdlib/jre8/build.gradle | 1 + libraries/stdlib/js/build.gradle | 1 + .../tools/kotlin-annotations-jvm/build.gradle | 1 + libraries/tools/runtime/build.gradle | 1 + libraries/tools/script-runtime/build.gradle | 1 + 16 files changed, 33 insertions(+), 14 deletions(-) diff --git a/libraries/commonConfiguration.gradle b/libraries/commonConfiguration.gradle index 495ed344268..453f243572e 100644 --- a/libraries/commonConfiguration.gradle +++ b/libraries/commonConfiguration.gradle @@ -103,6 +103,24 @@ ext.signPom = { Project project, MavenDeployer deployer -> } } +ext.configureDist = { Project project -> + project.configure(project) { + configurations { + distJar + } + + task dist(type: Copy, dependsOn: assemble) { + rename "-${java.util.regex.Pattern.quote(version)}", '' + into distLibDir + afterEvaluate { + project.artifacts { + distJar file: file("$distLibDir${File.separator}${archivesBaseName}.jar"), builtBy: "dist" + } + } + } + } +} + ext.configurePublishing = { Project project -> project.configure(project) { apply plugin: 'maven' @@ -120,20 +138,6 @@ ext.configurePublishing = { Project project -> } } - configurations { - distJar - } - - task dist(type: Copy, dependsOn: assemble) { - rename "-${java.util.regex.Pattern.quote(version)}", '' - into distLibDir - afterEvaluate { - project.artifacts { - distJar file: file("$distLibDir${File.separator}${archivesBaseName}.jar"), builtBy: "dist" - } - } - } - uploadArchives { def prepareTask = rootProject.preparePublication dependsOn prepareTask diff --git a/libraries/kotlin.test/annotations-common/build.gradle b/libraries/kotlin.test/annotations-common/build.gradle index 801490e8ffc..b89e309b4ac 100644 --- a/libraries/kotlin.test/annotations-common/build.gradle +++ b/libraries/kotlin.test/annotations-common/build.gradle @@ -2,6 +2,7 @@ description = 'Kotlin Test Annotations Common' apply plugin: 'kotlin-platform-common' +configureDist(project) configurePublishing(project) diff --git a/libraries/kotlin.test/common/build.gradle b/libraries/kotlin.test/common/build.gradle index 5f6150ebcce..8939d4a251f 100644 --- a/libraries/kotlin.test/common/build.gradle +++ b/libraries/kotlin.test/common/build.gradle @@ -2,6 +2,7 @@ description = 'Kotlin Test Common' apply plugin: 'kotlin-platform-common' +configureDist(project) configurePublishing(project) diff --git a/libraries/kotlin.test/js/build.gradle b/libraries/kotlin.test/js/build.gradle index a83851d5d31..84871fe46b9 100644 --- a/libraries/kotlin.test/js/build.gradle +++ b/libraries/kotlin.test/js/build.gradle @@ -2,6 +2,7 @@ description = 'Kotlin Test for JS' apply plugin: 'kotlin-platform-js' +configureDist(project) configurePublishing(project) dependencies { diff --git a/libraries/kotlin.test/junit/build.gradle b/libraries/kotlin.test/junit/build.gradle index 95a3f9b11e0..9c293b472ed 100644 --- a/libraries/kotlin.test/junit/build.gradle +++ b/libraries/kotlin.test/junit/build.gradle @@ -3,6 +3,7 @@ description = 'Kotlin Test JUnit' apply plugin: 'kotlin-platform-jvm' configureJvm6Project(project) +configureDist(project) configurePublishing(project) diff --git a/libraries/kotlin.test/jvm/build.gradle b/libraries/kotlin.test/jvm/build.gradle index ca372f17431..2e835a5af46 100644 --- a/libraries/kotlin.test/jvm/build.gradle +++ b/libraries/kotlin.test/jvm/build.gradle @@ -4,6 +4,7 @@ description = 'Kotlin Test' apply plugin: 'kotlin-platform-jvm' configureJvm6Project(project) +configureDist(project) configurePublishing(project) dependencies { diff --git a/libraries/stdlib/build.gradle b/libraries/stdlib/build.gradle index 1952e3be385..55868a87bec 100644 --- a/libraries/stdlib/build.gradle +++ b/libraries/stdlib/build.gradle @@ -3,6 +3,7 @@ description = 'Kotlin Standard Library' apply plugin: 'kotlin' configureJvm6Project(project) +configureDist(project) configurePublishing(project) sourceSets { diff --git a/libraries/stdlib/common/build.gradle b/libraries/stdlib/common/build.gradle index c15919c8690..adaede65973 100644 --- a/libraries/stdlib/common/build.gradle +++ b/libraries/stdlib/common/build.gradle @@ -2,6 +2,7 @@ description = 'Kotlin Common Standard Library' apply plugin: 'kotlin-platform-common' +configureDist(project) configurePublishing(project) def commonSrcDir = "${buildDir}/common-sources" diff --git a/libraries/stdlib/jdk7/build.gradle b/libraries/stdlib/jdk7/build.gradle index 6185e4d984f..875386e6f8c 100644 --- a/libraries/stdlib/jdk7/build.gradle +++ b/libraries/stdlib/jdk7/build.gradle @@ -3,6 +3,7 @@ description = 'Kotlin Standard Library JDK 7 extension' apply plugin: 'kotlin' configureJvm6Project(project) +configureDist(project) configurePublishing(project) ext.javaHome = JDK_17 diff --git a/libraries/stdlib/jdk8/build.gradle b/libraries/stdlib/jdk8/build.gradle index 4d7e1bd5d22..632099e17c2 100644 --- a/libraries/stdlib/jdk8/build.gradle +++ b/libraries/stdlib/jdk8/build.gradle @@ -3,6 +3,7 @@ description = 'Kotlin Standard Library JDK 8 extension' apply plugin: 'kotlin' configureJvm6Project(project) +configureDist(project) configurePublishing(project) ext.javaHome = JDK_18 ext.jvmTarget = "1.8" diff --git a/libraries/stdlib/jre7/build.gradle b/libraries/stdlib/jre7/build.gradle index 4f49cc3255c..1cd2dfa124d 100644 --- a/libraries/stdlib/jre7/build.gradle +++ b/libraries/stdlib/jre7/build.gradle @@ -3,6 +3,7 @@ description = 'Kotlin Standard Library JRE 7 extension (deprecated)' apply plugin: 'kotlin' configureJvm6Project(project) +configureDist(project) configurePublishing(project) ext.javaHome = JDK_17 diff --git a/libraries/stdlib/jre8/build.gradle b/libraries/stdlib/jre8/build.gradle index 076df39c55b..fe3122edc1a 100644 --- a/libraries/stdlib/jre8/build.gradle +++ b/libraries/stdlib/jre8/build.gradle @@ -3,6 +3,7 @@ description = 'Kotlin Standard Library JRE 8 extension (deprecated)' apply plugin: 'kotlin' configureJvm6Project(project) +configureDist(project) configurePublishing(project) ext.javaHome = JDK_18 ext.jvmTarget = "1.8" diff --git a/libraries/stdlib/js/build.gradle b/libraries/stdlib/js/build.gradle index 93ba642662e..d7d366f619a 100644 --- a/libraries/stdlib/js/build.gradle +++ b/libraries/stdlib/js/build.gradle @@ -7,6 +7,7 @@ description = 'Kotlin Standard Library for JS' apply plugin: 'kotlin2js' apply plugin: 'idea' +configureDist(project) configurePublishing(project) diff --git a/libraries/tools/kotlin-annotations-jvm/build.gradle b/libraries/tools/kotlin-annotations-jvm/build.gradle index a903be7ff56..ba27e453acb 100644 --- a/libraries/tools/kotlin-annotations-jvm/build.gradle +++ b/libraries/tools/kotlin-annotations-jvm/build.gradle @@ -3,6 +3,7 @@ description = 'Kotlin annotations for JVM' apply plugin: 'kotlin' configureJvm6Project(project) +configureDist(project) configurePublishing(project) sourceSets { diff --git a/libraries/tools/runtime/build.gradle b/libraries/tools/runtime/build.gradle index 7c88356ab57..c45d829d047 100644 --- a/libraries/tools/runtime/build.gradle +++ b/libraries/tools/runtime/build.gradle @@ -3,6 +3,7 @@ description 'Kotlin Runtime (deprecated, use kotlin-stdlib artifact instead)' apply plugin: 'kotlin' configureJvm6Project(project) +configureDist(project) configurePublishing(project) dependencies { diff --git a/libraries/tools/script-runtime/build.gradle b/libraries/tools/script-runtime/build.gradle index a6a32eddefd..58af760b3d8 100644 --- a/libraries/tools/script-runtime/build.gradle +++ b/libraries/tools/script-runtime/build.gradle @@ -3,6 +3,7 @@ description 'Kotlin Script Runtime' apply plugin: 'kotlin' configureJvm6Project(project) +configureDist(project) configurePublishing(project) dependencies {