FinalizeInput.java
package network.ike.plugin.release.finalize;
import network.ike.plugin.CascadeBump;
import java.util.List;
/**
* Inputs to the {@link FinalizePhase}.
*
* <p>Captures the local state {@code runGoal()} accumulated through
* the prep, local, and deploy phases that {@link FinalizePhase}
* needs to push the tag + main and create the GitHub Release.
*
* <p>A future commit will replace these scalar inputs with phase
* outcomes ({@code NexusOutcome}, {@code PrepOutcome}, ...) as each
* phase is extracted (IKE-Network/ike-issues#489 Commits 2–6).
*
* @param hasOrigin whether the working tree's git repo has an {@code origin} remote
* @param projectId the project's Maven artifact id
* @param releaseVersion the released version (no {@code -SNAPSHOT})
* @param foundationUpgrades the upstream-version bumps the release applied, surfaced as a
* "Foundation upgrades" section in the GitHub Release notes so a
* cascade-only rebuild never announces "no changes" (#706)
*/
public record FinalizeInput(boolean hasOrigin, String projectId, String releaseVersion,
List<CascadeBump> foundationUpgrades) {
}