Slackbot
08/23/2023, 3:06 PMVampire
08/23/2023, 3:11 PMSebastian Schuberth
08/23/2023, 3:13 PMVampire
08/23/2023, 3:15 PMJavi
08/23/2023, 3:16 PM-SNAPSHOT versions and/or when running publishToMavenLocal tasksSebastian Schuberth
08/23/2023, 3:17 PMVampire
08/23/2023, 3:17 PMJavi
08/23/2023, 3:18 PMconfigure<SigningExtension> {
val hasPublishToMavenLocalTasks: Boolean =
allTasks.any { task ->
task == "publishToMavenLocal" ||
task == "publishToMavenLocalTest" ||
task == "publishToMavenLocalBuildTest" ||
task == "publishAllPublicationsToMavenLocalTestRepository" ||
task == "publishAllPublicationsToMavenLocalBuildTestRepository"
}
isRequired = hasPublishToMavenLocalTasks
}Vampire
08/23/2023, 3:19 PMJavi
08/23/2023, 3:19 PMisRequired is not accepting a ProviderJavi
08/23/2023, 3:20 PMshouldSign is a Gradle project property
isRequired = (hasTaskCondition && hasSemverCondition) || shouldSign.get()Sebastian Schuberth
08/23/2023, 3:23 PMsetRequired({
val mavenPublishingTasks = tasks.withType<PublishToMavenRepository>()
mavenPublishingTasks.any { gradle.taskGraph.hasTask(it) }
})Javi
08/23/2023, 3:24 PMSebastian Schuberth
08/23/2023, 3:25 PMVampire
08/23/2023, 3:25 PMsigning {
setRequired {
// signing is required if this is a release version and the artifacts are to be published
// do not use hasTask() as this require realization of the tasks that maybe are not necessary
releaseVersion && gradle.taskGraph.allTasks.any { it is PublishToMavenRepository }
}
sign(publishing.publications)
}Sebastian Schuberth
08/23/2023, 3:27 PMJavi
08/23/2023, 3:30 PMsetRequired is lazy?Sebastian Schuberth
08/23/2023, 3:30 PMSebastian Schuberth
08/23/2023, 3:31 PMVampire
08/23/2023, 3:36 PMProperty in Gradle 9 though: https://github.com/orgs/gradle/projects/31/views/1?pane=issue&itemId=5719703