only enable signing if not snapshot OR running 'publish' task

This commit is contained in:
Adam 2023-05-31 23:07:13 +02:00
parent 6670346890
commit acfaaec754

View file

@ -16,11 +16,6 @@
*/ */
package buildsrc.conventions package buildsrc.conventions
import org.gradle.api.tasks.bundling.Jar
import org.gradle.kotlin.dsl.creating
import org.gradle.kotlin.dsl.getValue
import org.gradle.kotlin.dsl.version
plugins { plugins {
id("maven-publish") id("maven-publish")
id("signing") id("signing")
@ -29,6 +24,7 @@ plugins {
val gitHub = "ethauvin/${rootProject.name}" val gitHub = "ethauvin/${rootProject.name}"
val mavenUrl = "https://github.com/$gitHub" val mavenUrl = "https://github.com/$gitHub"
val isSnapshotVersion = { project.version.toString().contains("SNAPSHOT") }
publishing { publishing {
publications { publications {
@ -71,7 +67,7 @@ publishing {
} }
repositories { repositories {
maven( maven(
if (project.version.toString().contains("SNAPSHOT")) { if (isSnapshotVersion()) {
uri("https://oss.sonatype.org/content/repositories/snapshots/") uri("https://oss.sonatype.org/content/repositories/snapshots/")
} else { } else {
uri("https://oss.sonatype.org/service/local/staging/deploy/maven2/") uri("https://oss.sonatype.org/service/local/staging/deploy/maven2/")
@ -86,8 +82,15 @@ publishing {
signing { signing {
useGpgCmd() useGpgCmd()
sign(publishing.publications) sign(publishing.publications)
}
setRequired({
!isSnapshotVersion() || gradle.taskGraph.hasTask("publish")
})
}
tasks.withType<Sign>().configureEach {
val signingRequiredPredicate = provider { signing.isRequired }
onlyIf { signingRequiredPredicate.get() }
}
// https://youtrack.jetbrains.com/issue/KT-46466 // https://youtrack.jetbrains.com/issue/KT-46466
val signingTasks = tasks.withType<Sign>() val signingTasks = tasks.withType<Sign>()