From 78a6e28605091a2534f64798d12d7b6e59305a1e Mon Sep 17 00:00:00 2001 From: Nicolas Farabegoli Date: Sun, 5 Feb 2023 11:28:05 +0100 Subject: [PATCH 1/3] fix: prevent the closing of a staging repository already closed --- .../gradle/mavencentral/Configuration.kt | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/src/main/kotlin/org/danilopianini/gradle/mavencentral/Configuration.kt b/src/main/kotlin/org/danilopianini/gradle/mavencentral/Configuration.kt index bd3f8105..773ce443 100644 --- a/src/main/kotlin/org/danilopianini/gradle/mavencentral/Configuration.kt +++ b/src/main/kotlin/org/danilopianini/gradle/mavencentral/Configuration.kt @@ -1,5 +1,6 @@ package org.danilopianini.gradle.mavencentral +import io.github.gradlenexus.publishplugin.internal.StagingRepository import org.danilopianini.gradle.mavencentral.ProjectExtensions.registerTaskIfNeeded import org.gradle.api.DefaultTask import org.gradle.api.Project @@ -123,7 +124,15 @@ private fun Project.configureNexusRepository(repoToConfigure: Repository, nexusU val closeStagingRepository = rootProject.registerTaskIfNeeded( "closeStagingRepositoryOn${repoToConfigure.name}" ) { - doLast { nexusClient.nexusClient.close() } + doLast { + val currentStagingRepoState = + nexusClient.nexusClient.client.getStagingRepositoryStateById(nexusClient.nexusClient.repoId) + if (currentStagingRepoState.state == StagingRepository.State.CLOSED) { + logger.warn("The staging repository is already closed. Skipping.") + } else { + nexusClient.nexusClient.close() + } + } dependsOn(createStagingRepository) mustRunAfter(uploadAllPublications) group = PublishingPlugin.PUBLISH_TASK_GROUP From 796859a66527dc02b43f486ae72f50edc76d5fff Mon Sep 17 00:00:00 2001 From: Danilo Pianini Date: Sun, 5 Feb 2023 12:38:39 +0100 Subject: [PATCH 2/3] style: reduce repetitions --- .../gradle/mavencentral/Configuration.kt | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/main/kotlin/org/danilopianini/gradle/mavencentral/Configuration.kt b/src/main/kotlin/org/danilopianini/gradle/mavencentral/Configuration.kt index 773ce443..a5c66459 100644 --- a/src/main/kotlin/org/danilopianini/gradle/mavencentral/Configuration.kt +++ b/src/main/kotlin/org/danilopianini/gradle/mavencentral/Configuration.kt @@ -125,12 +125,12 @@ private fun Project.configureNexusRepository(repoToConfigure: Repository, nexusU "closeStagingRepositoryOn${repoToConfigure.name}" ) { doLast { - val currentStagingRepoState = - nexusClient.nexusClient.client.getStagingRepositoryStateById(nexusClient.nexusClient.repoId) - if (currentStagingRepoState.state == StagingRepository.State.CLOSED) { - logger.warn("The staging repository is already closed. Skipping.") - } else { - nexusClient.nexusClient.close() + with(nexusClient.nexusClient) { + when(client.getStagingRepositoryStateById(repoId)) { + StagingRepository.State.CLOSED -> + logger.warn("The staging repository is already closed. Skipping.") + else -> close() + } } } dependsOn(createStagingRepository) From 30ca60bceebbffc074feaaa39d9537f8f60f6a86 Mon Sep 17 00:00:00 2001 From: Nicolas Farabegoli Date: Sun, 5 Feb 2023 12:44:49 +0100 Subject: [PATCH 3/3] fix: use when on state enum --- .../org/danilopianini/gradle/mavencentral/Configuration.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/kotlin/org/danilopianini/gradle/mavencentral/Configuration.kt b/src/main/kotlin/org/danilopianini/gradle/mavencentral/Configuration.kt index a5c66459..e95bb364 100644 --- a/src/main/kotlin/org/danilopianini/gradle/mavencentral/Configuration.kt +++ b/src/main/kotlin/org/danilopianini/gradle/mavencentral/Configuration.kt @@ -126,7 +126,7 @@ private fun Project.configureNexusRepository(repoToConfigure: Repository, nexusU ) { doLast { with(nexusClient.nexusClient) { - when(client.getStagingRepositoryStateById(repoId)) { + when (client.getStagingRepositoryStateById(repoId).state) { StagingRepository.State.CLOSED -> logger.warn("The staging repository is already closed. Skipping.") else -> close()