Class BuiltWithMojo

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

@Mojo(name="built-with", defaultPhase="pre-site") public class BuiltWithMojo extends Object implements org.apache.maven.api.plugin.Mojo
Render a "Built With" page from the CycloneDX SBOM and a curated narrative supplement (ike-issues#336).

The user-facing rename of "Third-Party Notices" — friendlier scannable name with the same content shape: per-module mechanical inventory + project-wide curated supplement.

Sources, in priority order:

  1. Per-module mechanical: reads target/bom.json (CycloneDX, produced at package per ike-issues#333) and lists this module's direct dependencies with SPDX licenses.
  2. Project-wide curated supplement: reads src/main/built-with/supplement.yaml from the project root, and if not found, walks up the filesystem to find one at a parent reactor. This is where curated narrative lives — the things mechanical reports can't see (Sentry skin, Kroki, fonts inside artifacts, frontend assets, external PDF renderers).

The supplement file is a simple YAML schema:

schema: 1
sections:
  - heading: "Maven Site skin"
    components:
      - name: Sentry Maven Skin
        url: https://github.com/sentrysoftware/maven-skins
        license: Apache-2.0
        role: Provides the rendered HTML chrome.

Output: target/generated-site/asciidoc/built-with.adoc, which Maven Site renders to target/site/built-with.html with the project's skin chrome.

Skip with -Dike.skip.built-with=true.

mvn package                       # produces bom.json
mvn ike:built-with                # produces built-with.adoc
mvn site                          # renders built-with.html
See Also:
  • Constructor Details

    • BuiltWithMojo

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

    • getLog

      protected org.apache.maven.api.plugin.Log getLog()
      Access the Maven logger.
      Returns:
      the logger
    • execute

      public void execute() throws org.apache.maven.api.plugin.MojoException
      Specified by:
      execute in interface org.apache.maven.api.plugin.Mojo
      Throws:
      org.apache.maven.api.plugin.MojoException