Class IkeReleaseChangelogMojo

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

@Mojo(name="release-changelog", projectRequired=false, aggregator=true) public class IkeReleaseChangelogMojo extends AbstractGoalMojo
Renders a "What's changed" changelog from the commits in a release range, for a CI release notification (the Zulip step) to consume (IKE-Network/ike-issues#699, #706).

The composition is ReleaseNotesSupport.formatChangelog(List): release-machinery commits are filtered out, and each surviving entry is annotated with the full owner/repo#N issue references parsed from its trailers — repo-agnostic, so a downstream linkifier resolves each reference in whatever tracker it lives, with no tracker hardcoded. This replaces the hand-rolled gh compare | jq pipeline previously inlined in the TeamCity notify step, putting the logic in one tested place.

The range is <from>..<to>. from defaults to the previous release tag (auto-derived); to defaults to HEAD. When no previous tag is reachable (a repo's first release) the changelog is empty and the caller omits the block.

Usage:

  mvn ike:release-changelog                              # prev-tag..HEAD to the log
  mvn ike:release-changelog -DoutputFile=target/changelog.md
  mvn ike:release-changelog -Dfrom=v222 -Dto=v223
  # changelog + the cascade topic env for the notify step, one call:
  mvn ike:release-changelog -DoutputFile=target/changelog.md \
      -DmetaFile=target/cascade.env

With metaFile, the notify step gets the changelog plus the cascade Zulip-topic grouping from one invocation: . target/cascade.env sets CASCADE_LABEL and CASCADE_TOPIC_INPROGRESS (#699).

For clean capture into a shell variable, prefer -DoutputFile and read the file — the build log carries Maven's own decoration.

  • Constructor Details

    • IkeReleaseChangelogMojo

      public IkeReleaseChangelogMojo()
      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