Class ProjectCascadeIo
java.lang.Object
network.ike.workspace.cascade.ProjectCascadeIo
Reads a project's own
src/main/cascade/release-cascade.yaml
into a ProjectCascade (IKE-Network/ike-issues#420).
Each foundation project version-controls this file in its own
git tree, so resolution is a plain on-disk read of a fixed path —
no artifact resolution, no central manifest. CascadeAssembler
stitches the per-project files into the full ordered graph.
Parsing is lenient about unknown top-level keys (forward compatibility) but strict about edge shape.
-
Field Summary
Fields -
Method Summary
Modifier and TypeMethodDescriptionstatic Optional<ProjectCascade> Loads a per-project manifest from a path, degrading gracefully when no manifest is present.static ProjectCascadeParses a per-project manifest from an open reader.static ProjectCascadeParses a per-project manifest from a file path.
-
Field Details
-
MANIFEST_NAME
-
MANIFEST_RELATIVE_PATH
Conventional manifest location relative to a repository root —src/main/cascade/release-cascade.yaml. Every foundation project carries the file at this same relative path.- See Also:
-
-
Method Details
-
read
Parses a per-project manifest from a file path.- Parameters:
path- path to the YAML manifest- Returns:
- the parsed manifest
- Throws:
UncheckedIOException- if the file cannot be readIllegalArgumentException- if the manifest is malformed
-
read
Parses a per-project manifest from an open reader.- Parameters:
reader- the YAML source- Returns:
- the parsed manifest
- Throws:
IllegalArgumentException- if the manifest is malformed
-
load
Loads a per-project manifest from a path, degrading gracefully when no manifest is present.- Parameters:
manifestPath- the manifest path; may benull- Returns:
- the parsed manifest, or empty if
manifestPathisnullor does not point at a regular file - Throws:
IllegalArgumentException- if the manifest exists but is malformed
-