IKE Platform

The IKE Platform reactor hosts the IKE Network’s parent POM, its BOM, and the workspace-orchestration Maven plugin. It is the hub that ties ike-tooling (Maven plugins) and ike-docs (AsciiDoc toolchain) together into a single set of build conventions that downstream projects inherit.

Coordinate Value
Group ID network.ike.platform
Packaging POM (reactor)
Java version 25

Modules

Module Description
IKE Parent[1] The standard parent POM for IKE Network projects. Inheriting it provides Java 25 build conventions, GPG signing via Bouncy Castle, JaCoCo, the AsciiDoc documentation pipeline, dependency version management for the IKE ecosystem, and the extensions=true declarations for ike-maven-plugin and ike-doc-maven-plugin.
IKE Bill of Materials[2] Maven BOM that pins the versions of every IKE-published artifact. External projects import it once and inherit a coherent set of versions for ike-parent, ike-workspace-maven-plugin, the ike-tooling family, and the ike-docs family. Use the BOM if you want only the version pins; inherit ike-parent if you want the build conventions too.
IKE Workspace Maven Plugin[3] The ws:* plugin — 50 goals that coordinate cross-repository operations across an IKE workspace. Where bare git only sees one repo at a time, ws:* goals fan out across every checked-out subproject in topological order.

Quick Start

Build the reactor

# Full reactor build:
mvn clean install

# Just the workspace plugin:
mvn install -pl ike-workspace-maven-plugin -am

Use the parent in your project

<parent>
    <groupId>network.ike.platform</groupId>
    <artifactId>ike-parent</artifactId>
    <version>22</version>
</parent>

After inheriting, declare IKE dependencies without versions — ike-parent’s `<dependencyManagement> resolves them.

Use the BOM (without inheriting ike-parent)

<dependencyManagement>
    <dependencies>
        <dependency>
            <groupId>network.ike.platform</groupId>
            <artifactId>ike-bom</artifactId>
            <version>22</version>
            <type>pom</type>
            <scope>import</scope>
        </dependency>
    </dependencies>
</dependencyManagement>

Common workspace operations

# Snapshot of workspace state (manifest + graph + git status + cascade)
mvn ws:overview

# Daily-driver: pull, refresh-main, push across the workspace
mvn ws:sync

# Coordinated feature branch across all workspace subprojects
mvn ws:feature-start-publish -Dfeature=my-feature
mvn ws:feature-finish-squash-publish -Dfeature=my-feature

# Coordinated multi-repo release
mvn ws:release-draft       # preview
mvn ws:release-publish     # execute

For the full reference, see the ws:* Goal Reference[4] and Workspace Lifecycle[5] narrative.

For first-time setup of a workspace, see Workspace Getting Started[6].

Release Cascade

ike-tooling -> ike-docs -> [ike-platform] -> { downstream consumers }

ike-platform releases after ike-tooling (whose ike-maven-plugin this POM declares at 186 in ike-parent’s `<pluginManagement>) and after ike-docs (whose ike-doc-maven-plugin is declared at 43). The upstream plugins must be on Nexus before ike-platform can build — ordinary <pluginManagement> resolution, like any other managed plugin.

Earlier revisions of this page cited Maven extension-realm timing (<extensions>true</extensions> plugins resolving at project-load time, before property interpolation) as the reason for literal- version pinning. That constraint was eliminated in ike-issues#321[7]: both upstream plugins retired their custom-packaging registrations, and ike-parent dropped both <extensions>true</extensions> declarations along with their literal-version requirements. The cascade ordering is unchanged; the literal-version pinning and the extension realm are both gone. See ike-parent module page[1] for the full design rationale.

History

Split from the archived ike-pipeline repo to resolve a Maven extension-plugin reactor-load cycle: the old monolith declared a sibling module with extensions=true that Maven attempted to resolve before its own reactor had built it. See ike-issues#216[8] for the full diagnosis. The follow-on cleanup that retired the extension-plugin pattern entirely is tracked in ike-issues#321[7].

Resources

Resource URL
GitHub https://github.com/IKE-Network/ike-platform[9]
Issues https://github.com/IKE-Network/ike-issues[10]
Nexus Artifacts https://nexus.tinkar.org[11]
IKE Network https://ike.network[12]
Searching...
No results.