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
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 {
id("maven-publish")
id("signing")
@ -29,6 +24,7 @@ plugins {
val gitHub = "ethauvin/${rootProject.name}"
val mavenUrl = "https://github.com/$gitHub"
val isSnapshotVersion = { project.version.toString().contains("SNAPSHOT") }
publishing {
publications {
@ -71,7 +67,7 @@ publishing {
}
repositories {
maven(
if (project.version.toString().contains("SNAPSHOT")) {
if (isSnapshotVersion()) {
uri("https://oss.sonatype.org/content/repositories/snapshots/")
} else {
uri("https://oss.sonatype.org/service/local/staging/deploy/maven2/")
@ -86,8 +82,15 @@ publishing {
signing {
useGpgCmd()
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
val signingTasks = tasks.withType<Sign>()