From 47d5e8ee7b515a1d526fd56d129518295c6c22dc Mon Sep 17 00:00:00 2001 From: Janne Valkealahti Date: Tue, 25 Apr 2023 08:04:27 +0100 Subject: [PATCH] Wait central repo close - Adding finalizeDeployArtifacts task which closes and releases repo in nexus. - Relates #165 --- .../kerberos/gradle/SpringNexusPublishPlugin.java | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/buildSrc/src/main/java/org/springframework/security/kerberos/gradle/SpringNexusPublishPlugin.java b/buildSrc/src/main/java/org/springframework/security/kerberos/gradle/SpringNexusPublishPlugin.java index 610b12a..3a3eb03 100644 --- a/buildSrc/src/main/java/org/springframework/security/kerberos/gradle/SpringNexusPublishPlugin.java +++ b/buildSrc/src/main/java/org/springframework/security/kerberos/gradle/SpringNexusPublishPlugin.java @@ -21,6 +21,7 @@ import java.time.Duration; import org.gradle.api.Action; import org.gradle.api.Plugin; import org.gradle.api.Project; +import org.gradle.api.Task; import io.github.gradlenexus.publishplugin.NexusPublishExtension; import io.github.gradlenexus.publishplugin.NexusPublishPlugin; @@ -42,5 +43,12 @@ public class SpringNexusPublishPlugin implements Plugin { }); nexusPublishing.getConnectTimeout().set(Duration.ofMinutes(3)); nexusPublishing.getClientTimeout().set(Duration.ofMinutes(3)); + + // Ensure release build automatically closes and releases staging repository + Task finalizeDeployArtifacts = project.task("finalizeDeployArtifacts"); + if (Utils.isRelease(project) && project.hasProperty("ossrhUsername")) { + Task closeAndReleaseOssrhStagingRepository = project.getTasks().findByName("closeAndReleaseOssrhStagingRepository"); + finalizeDeployArtifacts.dependsOn(closeAndReleaseOssrhStagingRepository); + } } }