Class UrlCascadeResolver
java.lang.Object
network.ike.workspace.cascade.UrlCascadeResolver
- All Implemented Interfaces:
CascadeAssembler.CascadeResolver
A
CascadeAssembler.CascadeResolver that resolves cascade
members from their git url rather than local sibling
checkouts (IKE-Network/ike-issues#429).
CascadeAssembler stitches the release cascade from each
member's per-project release-cascade.yaml. The sibling-checkout
resolver assumes every member is a directory alongside the repo the
goal runs in — true on a developer workstation, false on a CI agent
that has only one repo checked out. This resolver closes that gap:
it shallow-clones each member from its edge's url and reads
src/main/cascade/release-cascade.yaml from the clone.
Clones land in a caller-supplied directory — one subdirectory per
member, named by the edge's repo. A member already cloned
there is refreshed with git pull --ff-only rather than
re-cloned. The resolver is host-agnostic: it passes the url
to git clone verbatim.
-
Constructor Summary
ConstructorsConstructorDescriptionUrlCascadeResolver(Path cloneDir) Creates a resolver that clones intocloneDirand logs nothing.UrlCascadeResolver(Path cloneDir, Consumer<String> log) Creates a resolver that clones intocloneDirand reports progress throughlog. -
Method Summary
Modifier and TypeMethodDescriptionresolve(CascadeEdge edge) Shallow-clones the member named byedgeand parses itsrelease-cascade.yaml.
-
Constructor Details
-
UrlCascadeResolver
Creates a resolver that clones intocloneDirand logs nothing.- Parameters:
cloneDir- the directory shallow clones are placed under
-
UrlCascadeResolver
-
-
Method Details
-
resolve
Shallow-clones the member named byedgeand parses itsrelease-cascade.yaml.- Specified by:
resolvein interfaceCascadeAssembler.CascadeResolver- Parameters:
edge- the edge naming the member; must carry aurl- Returns:
- the member's parsed manifest
- Throws:
IllegalStateException- if the edge has nourlor the clone has no manifestUncheckedIOException- if the clone directory cannot be created
-