Class IkeCascadeExportMojo

java.lang.Object
network.ike.plugin.support.AbstractGoalMojo
network.ike.plugin.IkeCascadeExportMojo
All Implemented Interfaces:
org.apache.maven.api.plugin.Mojo

@Mojo(name="cascade-export", projectRequired=false, aggregator=true) public class IkeCascadeExportMojo extends AbstractGoalMojo
Exports the foundation release cascade topology in a machine-readable format (IKE-Network/ike-issues#403, #420).

Read-only. The cascade is decentralized — each foundation repo version-controls its own src/main/cascade/release-cascade.yaml declaring only its own edges (#420). This goal reads the local repo's manifest, walks the edges into its sibling checkouts to assemble the full ordered graph, and writes it as JSON or .properties so a CI meta-runner can derive the build-chain edges from the cascade instead of hand-wiring them.

The traversal resolves each member sibling-first: a member checked out as a directory alongside this repo is read from disk; one that is not is shallow-cloned from its edge's url (IKE-Network/ike-issues#429). The goal therefore works both on a developer workstation with sibling checkouts and on a CI agent that has only this repo checked out.

Usage:

  mvn ike:cascade-export                          # JSON to stdout
  mvn ike:cascade-export -Dformat=properties
  mvn ike:cascade-export -DoutputFile=target/cascade.json
  mvn ike:cascade-export -Dike.release.cascade.clone-dir=/path
  • Constructor Details

    • IkeCascadeExportMojo

      public IkeCascadeExportMojo()
      Creates this goal instance.
  • Method Details

    • runGoal

      protected GoalReportSpec runGoal() throws org.apache.maven.api.plugin.MojoException
      Specified by:
      runGoal in class AbstractGoalMojo
      Throws:
      org.apache.maven.api.plugin.MojoException