Class ParentVersionReconciler
java.lang.Object
network.ike.plugin.ws.reconcile.ParentVersionReconciler
- All Implemented Interfaces:
Reconciler
Reconciler that cascades the workspace root POM's
<parent> version across every cloned subproject (and any
nested submodule POMs whose parent block matches the same
groupId:artifactId).
Subsumes the retired ws:set-parent-{draft,publish}
goals (IKE-Network/ike-issues#393). The source of truth for the
target parent version is the workspace root POM's
<parent><version>. To pin to a specific (non-root-declared)
version, pass -DparentVersion=<v>; the reconciler then
also updates the root POM before cascading.
External-trigger drift dimension: a new ike-parent release
lands → the user updates the root POM (or passes
-DparentVersion=) → next scaffold-publish cascades to
every subproject.
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidapply(WorkspaceContext ctx) Apply reconciliation.detect(WorkspaceContext ctx) Inspect the workspace and report any drift this reconciler would correct.Human-readable name of the dimension this reconciler owns.The Maven property name (without the-Dprefix) that opts out of this reconciler's apply pass.pinFlag()The Maven property name (without the-Dprefix) that pins this reconciler to a specific value, overriding the default "move to latest" behavior.
-
Constructor Details
-
ParentVersionReconciler
public ParentVersionReconciler()
-
-
Method Details
-
dimension
Description copied from interface:ReconcilerHuman-readable name of the dimension this reconciler owns. Used as the heading inscaffold-draftoutput.- Specified by:
dimensionin interfaceReconciler- Returns:
- the dimension label, e.g. "Denormalized YAML fields"
-
optOutFlag
Description copied from interface:ReconcilerThe Maven property name (without the-Dprefix) that opts out of this reconciler's apply pass. Setting the property to"false"skips this dimension on a givenscaffold-publishinvocation.- Specified by:
optOutFlagin interfaceReconciler- Returns:
- the opt-out flag name, e.g.
"updateFields"
-
pinFlag
Description copied from interface:ReconcilerThe Maven property name (without the-Dprefix) that pins this reconciler to a specific value, overriding the default "move to latest" behavior. Reconcilers that do not support pinning (e.g., pure normalizers like field-sync) returnnull.- Specified by:
pinFlagin interfaceReconciler- Returns:
- the pin flag name, or null if pinning is not supported
-
detect
Description copied from interface:ReconcilerInspect the workspace and report any drift this reconciler would correct. Read-only — must not mutate the workspace.- Specified by:
detectin interfaceReconciler- Parameters:
ctx- the workspace context- Returns:
- drift report;
DriftReport.noDrift(String)if nothing to do
-
apply
Description copied from interface:ReconcilerApply reconciliation. Caller is responsible for checkingReconcilerOptions.isOptedOut(String)before invoking; implementations may also re-check defensively.- Specified by:
applyin interfaceReconciler- Parameters:
ctx- the workspace context
-