Enum Class IkeGoal

java.lang.Object
java.lang.Enum<IkeGoal>
network.ike.plugin.IkeGoal
All Implemented Interfaces:
Serializable, Comparable<IkeGoal>, Constable, GoalRef, network.ike.support.enums.ConstantBackedEnum

public enum IkeGoal extends Enum<IkeGoal> implements GoalRef, network.ike.support.enums.ConstantBackedEnum
Compile-time identity for every ike:* goal in this plugin. Each value wraps the bare goal name, the mojo class that implements it, and a short human description. Draft/publish siblings expose each other through pair().

Parallels network.ike.plugin.ws.WsGoal in the ws plugin. Callers that invoke ike goals from Java — for subprocess exec, for report identification, for javadoc examples that survive a rename — should reference these enum values rather than string literals.

Implements ConstantBackedEnum: each constant is paired with a public static final String NAME_* mirror, and class-load verification keeps the two in lockstep. The mirror is a constant expression, so the @Mojo(name = IkeGoal.NAME_*) annotation can reference the enum as its single source of truth.

See issues #166 and #453.

  • Enum Constant Details

    • CASCADE_EXPORT

      public static final IkeGoal CASCADE_EXPORT
      ike:cascade-export — export the release cascade topology for CI.
    • CENTRAL_STATUS

      public static final IkeGoal CENTRAL_STATUS
      ike:central-status — report async Maven Central deploy state (#484).
    • CODESIGN_NATIVES

      public static final IkeGoal CODESIGN_NATIVES
      ike:codesign-natives — sign macOS native binaries in a runtime image.
    • CODESIGN_PKG

      public static final IkeGoal CODESIGN_PKG
      ike:codesign-pkg — sign a .pkg installer with Developer ID.
    • ENV

      public static final IkeGoal ENV
      ike:env — print runtime environment / terminal diagnostics.
    • GENERATE_BOM

      public static final IkeGoal GENERATE_BOM
      ike:generate-bom — generate the auto-managed BOM.
    • HELP

      public static final IkeGoal HELP
      ike:help — list ike:* goals from the plugin descriptor.
    • INJECT_BREADCRUMB

      public static final IkeGoal INJECT_BREADCRUMB
      ike:inject-breadcrumb — inject breadcrumbs into rendered HTML.
    • INJECT_JAVADOC_THEME

      public static final IkeGoal INJECT_JAVADOC_THEME
      ike:inject-javadoc-theme — overlay the IKE green stylesheet on generated Javadoc apidocs.
    • JPACKAGE_PROPS

      public static final IkeGoal JPACKAGE_PROPS
      ike:jpackage-props — emit jpackage properties from reactor config.
    • KNOWLEDGE_BINDINGS

      public static final IkeGoal KNOWLEDGE_BINDINGS
      ike:knowledge-bindings — generate a knowledge set's bindings class.
    • KNOWLEDGE_EXPORT

      public static final IkeGoal KNOWLEDGE_EXPORT
      ike:knowledge-export — export a knowledge set's protobuf change set.
    • NOTARIZE

      public static final IkeGoal NOTARIZE
      ike:notarize — submit a .pkg/.app to Apple notary.
    • RELEASE_DRAFT

      public static final IkeGoal RELEASE_DRAFT
      ike:release-draft — preview releasing the current project.
    • RELEASE_PUBLISH

      public static final IkeGoal RELEASE_PUBLISH
      ike:release-publish — release the current project (tag + publish).
    • RELEASE_CASCADE

      public static final IkeGoal RELEASE_CASCADE
      ike:release-cascade — release the whole foundation cascade in order.
    • RELEASE_CHANGELOG

      public static final IkeGoal RELEASE_CHANGELOG
      ike:release-changelog — render a release changelog for CI notifications (#699).
    • RENAME

      public static final IkeGoal RENAME
      ike:rename — rename output files to a canonical pattern.
    • BUILT_WITH

      public static final IkeGoal BUILT_WITH
      ike:built-with — generate a Built With page from the SBOM and a curated supplement (#336).
    • RENDER_SBOM_VIEWER

      public static final IkeGoal RENDER_SBOM_VIEWER
      ike:render-sbom-viewer — generate dependencies.adoc from the CycloneDX SBOM (#341).
    • RENDER_SPDX_LICENSES

      public static final IkeGoal RENDER_SPDX_LICENSES
      ike:render-spdx-licenses — generate licenses.adoc from the CycloneDX SBOM (#335).
    • SCAFFOLD_DRAFT

      public static final IkeGoal SCAFFOLD_DRAFT
      ike:scaffold-draft — preview ike-build-standards scaffold changes.
    • SCAFFOLD_PUBLISH

      public static final IkeGoal SCAFFOLD_PUBLISH
      ike:scaffold-publish — apply the scaffold to disk.
    • SCAFFOLD_REVERT

      public static final IkeGoal SCAFFOLD_REVERT
      ike:scaffold-revert — undo a previous scaffold-publish.
    • SITE_DRAFT

      public static final IkeGoal SITE_DRAFT
      ike:site-draft — report deployed-site drift (#398).
    • SITE_PUBLISH

      public static final IkeGoal SITE_PUBLISH
      ike:site-publish — apply deployed-site convergence (#398).
    • SETUP

      public static final IkeGoal SETUP
      ike:setup — one-time setup for an IKE development machine.
    • UNPACK_ZIP

      public static final IkeGoal UNPACK_ZIP
      ike:unpack-zip — unpack a zip artifact into a target directory.
    • VERIFY_RELEASE_PUBLISHED

      public static final IkeGoal VERIFY_RELEASE_PUBLISHED
      ike:verify-release-published — verify all post-release publication targets (#374).
  • Field Details

  • Method Details

    • values

      public static IkeGoal[] values()
      Returns an array containing the constants of this enum class, in the order they are declared.
      Returns:
      an array containing the constants of this enum class, in the order they are declared
    • valueOf

      public static IkeGoal valueOf(String name)
      Returns the enum constant of this class with the specified name. The string must match exactly an identifier used to declare an enum constant in this class. (Extraneous whitespace characters are not permitted.)
      Parameters:
      name - the name of the enum constant to be returned.
      Returns:
      the enum constant with the specified name
      Throws:
      IllegalArgumentException - if this enum class has no constant with the specified name
      NullPointerException - if the argument is null
    • goalName

      public String goalName()
      The bare goal name as it appears in @Mojo(name = ...).
      Specified by:
      goalName in interface GoalRef
      Returns:
      the bare goal name
    • literalName

      public String literalName()
      The String literal carried by this constant — the bare goal name. Satisfies ConstantBackedEnum.
      Specified by:
      literalName in interface network.ike.support.enums.ConstantBackedEnum
      Returns:
      the bare goal name
    • pluginPrefix

      public String pluginPrefix()
      The ike plugin prefix — shared by every goal in this enum.
      Specified by:
      pluginPrefix in interface GoalRef
      Returns:
      PLUGIN_PREFIX
    • qualified

      public String qualified()
      The fully-qualified goal invocation, e.g. "ike:release-publish".
      Specified by:
      qualified in interface GoalRef
      Returns:
      the fully-qualified goal invocation
    • mojoClass

      public Class<? extends org.apache.maven.api.plugin.Mojo> mojoClass()
      The mojo class that implements this goal.
      Returns:
      the mojo class
    • description

      public String description()
      One-line human description of what this goal does.
      Specified by:
      description in interface GoalRef
      Returns:
      the human description
    • isDraft

      public boolean isDraft()
      True if this is the -draft counterpart of a draft/publish pair.
      Returns:
      true when this goal is a draft variant
    • isPublish

      public boolean isPublish()
      True if this is the -publish counterpart of a draft/publish pair.
      Returns:
      true when this goal is a publish variant
    • pair

      public Optional<IkeGoal> pair()
      The paired draft/publish sibling, if this goal belongs to a pair.
      Returns:
      the sibling goal, or empty if this goal is a singleton
    • byName

      public static Optional<IkeGoal> byName(String goalName)
      Look up a goal by its bare name (e.g. "release-publish").
      Parameters:
      goalName - the bare goal name, without the ike: prefix
      Returns:
      the matching goal, or empty if none