Class NexusPhase

java.lang.Object
network.ike.plugin.release.nexus.NexusPhase

public final class NexusPhase extends Object
The Nexus deploy phase of the release pipeline.

Runs mvn clean deploy -P release,signArtifacts from the release-tagged worktree, with a bounded retry budget configured by ike.deploy.nexus.{maxAttempts,backoffSeconds}. Nexus is the mandatory deploy: a release with no Nexus artifact has no internal consumers unblocked, so exhausting the retry budget aborts the release before any tag or main push.

Carved out of ReleaseDraftMojo.deployToNexusWithRetry() during the Phase 4 Commit 2 (IKE-Network/ike-issues#489).

  • Constructor Details

    • NexusPhase

      public NexusPhase(ReleaseContext ctx)
      Creates a new Nexus phase bound to the given context.
      Parameters:
      ctx - the per-invocation release context
  • Method Details

    • execute

      public NexusOutcome execute() throws org.apache.maven.api.plugin.MojoException
      Executes the Nexus deploy with retry.

      Retry parameters are read from ctx.request(): ReleaseRequest.nexusDeployMaxAttempts() and ReleaseRequest.nexusDeployBackoffSeconds(). The caller is responsible for skipping this phase entirely when skipNexusDeploy is set; this method does not inspect that flag.

      Returns:
      a NexusOutcome marked succeeded=true on the first successful cycle, with attempts set to the cycle on which success occurred
      Throws:
      org.apache.maven.api.plugin.MojoException - after the final attempt fails — the release is aborted before any tag or main push