From 51e2b9d33da15c0904bd5145b51ed075734c9d3b Mon Sep 17 00:00:00 2001 From: Nikolay Krasko Date: Mon, 12 Oct 2020 22:45:40 +0300 Subject: [PATCH] Enable signing using gpg in KotlinBuildPublishingPlugin (KTI-355) Add skip for generated Sign task because otherwise added signatory is forcing task activation. ```Execution failed for task ':kotlin-allopen:signMainPublication'. org.gradle.api.InvalidUserDataException: Cannot perform signing task ':kotlin-allopen:signMainPublication' because it has no configured signatory``` #KTI-355 Fixed --- .../plugins/KotlinBuildPublishingPlugin.kt | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/buildSrc/src/main/kotlin/plugins/KotlinBuildPublishingPlugin.kt b/buildSrc/src/main/kotlin/plugins/KotlinBuildPublishingPlugin.kt index 47c75c7e929..a3da701ad7f 100644 --- a/buildSrc/src/main/kotlin/plugins/KotlinBuildPublishingPlugin.kt +++ b/buildSrc/src/main/kotlin/plugins/KotlinBuildPublishingPlugin.kt @@ -17,9 +17,9 @@ 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.net.URI import java.util.* import javax.inject.Inject @@ -108,13 +108,19 @@ class KotlinBuildPublishingPlugin @Inject constructor( } } - configure { - setRequired(provider { - project.findProperty("signingRequired")?.toString()?.toBoolean() - ?: project.property("isSonatypeRelease") as Boolean - }) + val signingRequired = provider { + project.findProperty("signingRequired")?.toString()?.toBoolean() + ?: project.property("isSonatypeRelease") as Boolean + } + configure { + setRequired(signingRequired) sign(extensions.getByType().publications[PUBLICATION_NAME]) + useGpgCmd() + } + + tasks.withType().configureEach { + setOnlyIf { signingRequired.get() } } tasks.register("install") {