GOAL-native-build-workflows: Users can easily build, run, and test native images with their build-tool

June 18, 2026 · View on GitHub

The Gradle and Maven plugins expose native image compile, run, test, agent metadata collection, and reachability metadata workflows through idioms that fit each build tool. Realized by §gradle/GOAL-native-workflows, §maven/GOAL-native-workflows, and §FS-plugin-common. Bounded by the non-goals in non-goals.md and constrained by §REQ-plugin-compatibility, §REQ-backwards-compatibility, §REQ-support-matrix, and §REQ-real-fixtures.

GOAL-fresh-metadata: Users can fetch the latest GraalVM reachability metadata

Refines §GRUND-why-nbt. Native Build Tools should fetch and consume the latest compatible GraalVM Reachability Metadata Repository by default so users benefit from current third-party library metadata without vendoring Native Image configuration. The default must remain overridable for reproducible builds, offline builds, local repositories, and deliberately pinned metadata versions. Realized by §FS-resources-and-metadata.2, §common/FS-common-libraries.5, §gradle/FS-resources-and-metadata.3, and §maven/FS-resources-and-metadata.2; constrained by §REQ-support-matrix and §REQ-backwards-compatibility.

GOAL-plugin-parity: Shared native-image behavior remains consistent across Gradle and Maven

Behavior both plugins expose lives in the cross-plugin product contract; build-tool-neutral primitives live in common modules reused by both plugins. Covers native-image utilities, resource model analysis, reachability metadata lookup, tracing-agent behavior, cross-plugin parity, and JUnit native support. See §FS-plugin-common, §common/FS-common-libraries, and §common/AR-common-libraries. Constrained by §REQ-real-fixtures.

GOAL-jvm-ecosystem-interop: Most of the JVM build ecosystem keeps working under Native Image

Refines §GRUND-why-nbt. Build-tool toolchains, common Gradle and Maven plugins (application, java-library, jacoco, Kotlin, etc.), test frameworks, packaging plugins, and developer tooling that JVM projects already rely on should continue to work when Native Build Tools is added to the project. The plugins must integrate with the host build tool's existing model rather than replacing it; when an ecosystem capability is structurally incompatible with Native Image, that gap belongs in non-goals.md with a documented reason. Realized by §gradle/GOAL-native-workflows and §maven/GOAL-native-workflows, bounded by §NGOAL-no-buildtool-duplicates.

GOAL-concise-actionable-output: Build output is concise, actionable, and token-efficient

Refines §GRUND-why-nbt. Default Gradle and Maven plugin output should explain what the Native Build Tools integration did, where important artifacts or reports were written, and what action a user should take next without flooding CI logs or agent transcripts. Detailed diagnostics belong behind the build tool's normal verbose or debug output controls.

GOAL-fast-feedback: Native build workflows provide feedback as fast as practical

Refines §GRUND-why-nbt. The plugins should minimize avoidable configuration, dependency resolution, metadata processing, and repeated Native Image invocations while preserving correctness and build-tool idioms. Fast feedback includes local developer builds, functional tests, and CI validation paths, with expensive work declared as build inputs and outputs where the build tool can skip, cache, or parallelize it.