diff --git a/src/main/kotlin/org/danilopianini/gradle/mavencentral/Configuration.kt b/src/main/kotlin/org/danilopianini/gradle/mavencentral/Configuration.kt index 1ad89732..f0d5a836 100644 --- a/src/main/kotlin/org/danilopianini/gradle/mavencentral/Configuration.kt +++ b/src/main/kotlin/org/danilopianini/gradle/mavencentral/Configuration.kt @@ -36,8 +36,10 @@ fun MavenPublication.configureForMavenCentral(extension: PublishOnCentralExtensi configurePomForMavenCentral(extension) val project = extension.project // Signing - findSigningTaskIn(project) ?: project.configure { - sign(this@configureForMavenCentral) + if (signingTasks(project).isEmpty()) { + project.configure { + sign(this@configureForMavenCentral) + } } } @@ -173,7 +175,7 @@ private fun Project.configureNexusRepository(repoToConfigure: Repository, nexusU } } uploadTask.publication = publication - publication.findSigningTaskIn(project).forEach { + publication.signingTasks(project).forEach { uploadTask.dependsOn(it) } tasks.withType().forEach { @@ -214,5 +216,5 @@ private fun Project.warnIfCredentialsAreMissing(repository: Repository) { /** * Returns the signign tasks registered for the [MavenPublication] in the current [project]. */ -fun MavenPublication.findSigningTaskIn(project: Project) = +fun MavenPublication.signingTasks(project: Project): Collection = project.tasks.withType().matching { it.name.endsWith("sign${name.capitalized()}Publication") } diff --git a/src/main/kotlin/org/danilopianini/gradle/mavencentral/PublishOnCentral.kt b/src/main/kotlin/org/danilopianini/gradle/mavencentral/PublishOnCentral.kt index 9c45352a..bf47c7f6 100644 --- a/src/main/kotlin/org/danilopianini/gradle/mavencentral/PublishOnCentral.kt +++ b/src/main/kotlin/org/danilopianini/gradle/mavencentral/PublishOnCentral.kt @@ -59,7 +59,7 @@ class PublishOnCentral : Plugin { publications.withType().configureEach { publication -> if (extension.autoConfigureAllPublications.getOrElse(true) && publication !in createdPublications) { publication.configurePomForMavenCentral(extension) - if (publication.findSigningTaskIn(project).isEmpty()) { + if (publication.signingTasks(project).isEmpty()) { project.configure { sign(publication) }