FinalizeOutcome.java
package network.ike.plugin.release.finalize;
/**
* Outcome of the {@link FinalizePhase} โ the last release steps that
* make the release externally visible beyond Nexus.
*
* <p>Tracks whether the tag and main pushes succeeded and whether
* a GitHub Release creation was attempted (failure of the
* {@code gh release create} subprocess is a logged warning, not an
* exception โ the release is already shipped to Nexus by the time
* {@code FinalizePhase} runs).
*
* <p>Carved out of {@code ReleaseDraftMojo} during the Phase 4
* Commit 1 (IKE-Network/ike-issues#489). The handoff ยง6.3 mentions
* additional fields ({@code siteGenerated}, {@code ghPagesPublished},
* {@code milestoneClosed}); those belong to phases or sub-blocks
* that have not been extracted yet and will be added when those
* commits land.
*
* @param tagPushed {@code true} when {@code git push origin v<version>} succeeded
* @param mainPushed {@code true} when {@code git push origin main} succeeded
* @param githubReleaseAttempted {@code true} when GitHub Release creation was attempted;
* the subprocess itself may have logged a warning and continued
*/
public record FinalizeOutcome(boolean tagPushed, boolean mainPushed, boolean githubReleaseAttempted) {
}