From 05b5894ef183639c798e425130c76e388dedb03c Mon Sep 17 00:00:00 2001 From: Vyacheslav Gerasimov Date: Mon, 17 Feb 2020 19:30:45 +0300 Subject: [PATCH] Build: Use configurations property for shadowJar in :kotlin-main-kts It marked as classpath and improves cache reuse between different builds --- .../tools/kotlin-main-kts/build.gradle.kts | 20 ++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/libraries/tools/kotlin-main-kts/build.gradle.kts b/libraries/tools/kotlin-main-kts/build.gradle.kts index 0b38b7cfc66..d4c69d1d3bc 100644 --- a/libraries/tools/kotlin-main-kts/build.gradle.kts +++ b/libraries/tools/kotlin-main-kts/build.gradle.kts @@ -11,6 +11,8 @@ plugins { val jarBaseName = property("archivesBaseName") as String val proguardLibraryJars by configurations.creating +val relocatedJarContents by configurations.creating +val embedded by configurations dependencies { compileOnly("org.apache.ivy:ivy:2.5.0") @@ -35,6 +37,9 @@ dependencies { proguardLibraryJars(kotlinStdlib()) proguardLibraryJars(project(":kotlin-reflect")) proguardLibraryJars(project(":kotlin-compiler")) + + relocatedJarContents(embedded) + relocatedJarContents(mainSourceSet.output) } sourceSets { @@ -46,15 +51,12 @@ publish() noDefaultJar() -val packJar by task { - configurations = emptyList() +val relocatedJar by task { + configurations = listOf(relocatedJarContents) duplicatesStrategy = DuplicatesStrategy.EXCLUDE destinationDirectory.set(File(buildDir, "libs")) archiveClassifier.set("before-proguard") - from(mainSourceSet.output) - from(project.configurations.embedded) - // don't add this files to resources classpath to avoid IDE exceptions on kotlin project from("jar-resources") @@ -66,23 +68,23 @@ val packJar by task { } val proguard by task { - dependsOn(packJar) + dependsOn(relocatedJar) configuration("main-kts.pro") - injars(mapOf("filter" to "!META-INF/versions/**"), packJar.get().outputs.files) + injars(mapOf("filter" to "!META-INF/versions/**"), relocatedJar.get().outputs.files) val outputJar = fileFrom(buildDir, "libs", "$jarBaseName-$version-after-proguard.jar") outjars(outputJar) - inputs.files(packJar.get().outputs.files.singleFile) + inputs.files(relocatedJar.get().outputs.files.singleFile) outputs.file(outputJar) libraryjars(mapOf("filter" to "!META-INF/versions/**"), proguardLibraryJars) } val resultJar by task { - val pack = if (kotlinBuildProperties.proguard) proguard else packJar + val pack = if (kotlinBuildProperties.proguard) proguard else relocatedJar dependsOn(pack) setupPublicJar(jarBaseName) from {