From d1ee05c7f690560458155e2d99a222541981bad5 Mon Sep 17 00:00:00 2001 From: Alexander Likhachev Date: Thu, 11 Mar 2021 17:22:10 +0300 Subject: [PATCH] Revert "[Build] Fix configuration cache issues with install task" This reverts commit 078849d1 --- .../plugins/KotlinBuildPublishingPlugin.kt | 23 +++++++++++-------- .../build.gradle.kts | 20 ++-------------- .../build.gradle | 19 ++------------- 3 files changed, 18 insertions(+), 44 deletions(-) diff --git a/buildSrc/src/main/kotlin/plugins/KotlinBuildPublishingPlugin.kt b/buildSrc/src/main/kotlin/plugins/KotlinBuildPublishingPlugin.kt index 6f8dd28ce2d..022e49d7f12 100644 --- a/buildSrc/src/main/kotlin/plugins/KotlinBuildPublishingPlugin.kt +++ b/buildSrc/src/main/kotlin/plugins/KotlinBuildPublishingPlugin.kt @@ -16,6 +16,7 @@ import org.gradle.api.publish.maven.plugins.MavenPublishPlugin import org.gradle.api.publish.maven.tasks.PublishToMavenRepository import org.gradle.api.tasks.TaskProvider import org.gradle.kotlin.dsl.* +import org.gradle.plugins.signing.Sign import org.gradle.plugins.signing.SigningExtension import org.gradle.plugins.signing.SigningPlugin import java.util.* @@ -26,6 +27,7 @@ class KotlinBuildPublishingPlugin @Inject constructor( ) : Plugin { override fun apply(target: Project): Unit = with(target) { apply() + apply() val publishedRuntime = configurations.maybeCreate(RUNTIME_CONFIGURATION).apply { isCanBeConsumed = false @@ -127,20 +129,13 @@ fun Project.configureDefaultPublishing() { name = KotlinBuildPublishingPlugin.REPOSITORY_NAME url = file("${project.rootDir}/build/repo").toURI() } - mavenLocal() // to workaround configuration cache issues with 'publishToMavenLocal' task } } - val signingRequired = project.providers.gradleProperty("signingRequired").forUseAtConfigurationTime().orNull?.toBoolean() - ?: project.providers.gradleProperty("isSonatypeRelease").forUseAtConfigurationTime().orNull?.toBoolean() ?: false - - if (signingRequired) { - apply() - configureSigning() - } + configureSigning() tasks.register("install") { - dependsOn(tasks.named("publishAllPublicationsToMavenLocalRepository")) + dependsOn(tasks.named("publishToMavenLocal")) } tasks.withType() @@ -149,10 +144,20 @@ fun Project.configureDefaultPublishing() { } private fun Project.configureSigning() { + val signingRequired = provider { + project.findProperty("signingRequired")?.toString()?.toBoolean() + ?: project.property("isSonatypeRelease") as Boolean + } + configure { + setRequired(signingRequired) sign(extensions.getByType().publications) // all publications useGpgCmd() } + + tasks.withType().configureEach { + setOnlyIf { signingRequired.get() } + } } fun TaskProvider.configureRepository() = diff --git a/libraries/examples/annotation-processor-example/build.gradle.kts b/libraries/examples/annotation-processor-example/build.gradle.kts index f0add7e434e..b9b1b951af3 100644 --- a/libraries/examples/annotation-processor-example/build.gradle.kts +++ b/libraries/examples/annotation-processor-example/build.gradle.kts @@ -1,11 +1,10 @@ import org.jetbrains.kotlin.pill.PillExtension -import plugins.configureKotlinPomAttributes description = "Simple Annotation Processor for testing kapt" plugins { kotlin("jvm") - `maven-publish` // only used for installing to mavenLocal() + maven // only used for installing to mavenLocal() id("jps-compatible") } @@ -14,24 +13,9 @@ pill { } dependencies { - implementation(kotlinStdlib()) + compile(kotlinStdlib()) } sourceSets { "test" {} -} - -publishing { - publications { - create("main") { - from(components["java"]) - } - } - repositories { - mavenLocal() // to workaround configuration cache issues with 'publishToMavenLocal' task - } -} - -tasks.register("install") { - dependsOn(tasks.named("publishAllPublicationsToMavenLocalRepository")) } \ No newline at end of file diff --git a/libraries/examples/kotlin-gradle-subplugin-example/build.gradle b/libraries/examples/kotlin-gradle-subplugin-example/build.gradle index 9c6dff29219..ccd251c6257 100644 --- a/libraries/examples/kotlin-gradle-subplugin-example/build.gradle +++ b/libraries/examples/kotlin-gradle-subplugin-example/build.gradle @@ -1,5 +1,5 @@ apply plugin: 'kotlin' -apply plugin: 'maven-publish' +apply plugin: 'maven' apply plugin: 'jps-compatible' repositories { @@ -38,19 +38,4 @@ dependencies { // Relocate `com.intellij.*` and some other classes to match those in the `kotlin-compiler-embeddable` // (for example, the actual package at runtime is `org.jetbrains.kotlin.com.intellij.*`): ArtifactsKt.runtimeJar(project, EmbeddableKt.rewriteDefaultJarDepsToShadedCompiler(project, {}), {}) -// In a standalone build, you can setup the relocation with the Shadow plugin. - -publishing { - publications { - main(MavenPublication) { - artifact tasks.named("embeddable") - } - } - repositories { - mavenLocal() // to workaround configuration cache issues with 'publishToMavenLocal' task - } -} - -tasks.register("install") { - dependsOn(tasks.named("publishAllPublicationsToMavenLocalRepository")) -} \ No newline at end of file +// In a standalone build, you can setup the relocation with the Shadow plugin. \ No newline at end of file