Clarify build prerequisites and add a core build mode - #1012
Merged
Conversation
vjovanov
approved these changes
Aug 4, 2026
vjovanov
approved these changes
Aug 4, 2026
jvukicev
force-pushed
the
rhei/issue-988
branch
from
August 4, 2026 13:50
1824c82 to
e382447
Compare
mergify Bot
added a commit
to ArcadeData/arcadedb
that referenced
this pull request
Aug 16, 2026
….8 to 1.1.9 [skip ci] Bumps [org.graalvm.buildtools:native-maven-plugin](https://github.com/graalvm/native-build-tools) from 1.1.8 to 1.1.9. Release notes *Sourced from [org.graalvm.buildtools:native-maven-plugin's releases](https://github.com/graalvm/native-build-tools/releases).* > 1.1.9 > ----- > > What's Changed > -------------- > > * Make repository test output concise by default by [`@jormundur00`](https://github.com/jormundur00) in [graalvm/native-build-tools#1004](https://redirect.github.com/graalvm/native-build-tools/pull/1004) > * Decouple Maven plugin unit tests from remote bootstrap tasks by [`@jormundur00`](https://github.com/jormundur00) in [graalvm/native-build-tools#1007](https://redirect.github.com/graalvm/native-build-tools/pull/1007) > * Clarify build prerequisites and add a core build mode by [`@jormundur00`](https://github.com/jormundur00) in [graalvm/native-build-tools#1012](https://redirect.github.com/graalvm/native-build-tools/pull/1012) > * Release 1.1.8 by [`@graalvmbot`](https://github.com/graalvmbot) in [graalvm/native-build-tools#1015](https://redirect.github.com/graalvm/native-build-tools/pull/1015) > * Bump version to 1.1.9-SNAPSHOT by [`@graalvmbot`](https://github.com/graalvmbot) in [graalvm/native-build-tools#1016](https://redirect.github.com/graalvm/native-build-tools/pull/1016) > * Uplift the Native Image layer configuration model by [`@jormundur00`](https://github.com/jormundur00) in [graalvm/native-build-tools#1011](https://redirect.github.com/graalvm/native-build-tools/pull/1011) > * Update reachability metadata to 1.0.10 by [`@graalvmbot`](https://github.com/graalvmbot) in [graalvm/native-build-tools#1021](https://redirect.github.com/graalvm/native-build-tools/pull/1021) > > **Full Changelog**: <graalvm/native-build-tools@1.1.8...1.1.9> Commits * [`70a22ad`](graalvm/native-build-tools@70a22ad) Release 1.1.9 * [`226c2f2`](graalvm/native-build-tools@226c2f2) Merge pull request [#1021](https://redirect.github.com/graalvm/native-build-tools/issues/1021) from graalvm/update-metadata-to-1.0.10 * [`750e24d`](graalvm/native-build-tools@750e24d) Update reachability metadata to 1.0.10 * [`f9d090c`](graalvm/native-build-tools@f9d090c) Clarify layer selector and test suite support * [`8a62507`](graalvm/native-build-tools@8a62507) Skip later Gradle layer consumers on GraalVM 25.0 * [`fa9cb64`](graalvm/native-build-tools@fa9cb64) Narrow GraalVM 25.0 layer test skips * [`a7f0ca4`](graalvm/native-build-tools@a7f0ca4) Skip Gradle layer consumers on GraalVM 25.0 * [`cf67f05`](graalvm/native-build-tools@cf67f05) Skip Maven shared layer test on GraalVM 25.0 * [`60da37c`](graalvm/native-build-tools@60da37c) Skip Maven all-selector layer test on GraalVM 25.0 * [`0498739`](graalvm/native-build-tools@0498739) Fix layered image runtime distribution * Additional commits viewable in [compare view](graalvm/native-build-tools@1.1.8...1.1.9) [](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- Dependabot commands and options You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
mergify Bot
added a commit
to robfrank/linklift
that referenced
this pull request
Aug 20, 2026
….6 to 1.1.9 [skip ci] Bumps [org.graalvm.buildtools:native-maven-plugin](https://github.com/graalvm/native-build-tools) from 1.1.6 to 1.1.9. Release notes *Sourced from [org.graalvm.buildtools:native-maven-plugin's releases](https://github.com/graalvm/native-build-tools/releases).* > 1.1.9 > ----- > > What's Changed > -------------- > > * Make repository test output concise by default by [`@jormundur00`](https://github.com/jormundur00) in [graalvm/native-build-tools#1004](https://redirect.github.com/graalvm/native-build-tools/pull/1004) > * Decouple Maven plugin unit tests from remote bootstrap tasks by [`@jormundur00`](https://github.com/jormundur00) in [graalvm/native-build-tools#1007](https://redirect.github.com/graalvm/native-build-tools/pull/1007) > * Clarify build prerequisites and add a core build mode by [`@jormundur00`](https://github.com/jormundur00) in [graalvm/native-build-tools#1012](https://redirect.github.com/graalvm/native-build-tools/pull/1012) > * Release 1.1.8 by [`@graalvmbot`](https://github.com/graalvmbot) in [graalvm/native-build-tools#1015](https://redirect.github.com/graalvm/native-build-tools/pull/1015) > * Bump version to 1.1.9-SNAPSHOT by [`@graalvmbot`](https://github.com/graalvmbot) in [graalvm/native-build-tools#1016](https://redirect.github.com/graalvm/native-build-tools/pull/1016) > * Uplift the Native Image layer configuration model by [`@jormundur00`](https://github.com/jormundur00) in [graalvm/native-build-tools#1011](https://redirect.github.com/graalvm/native-build-tools/pull/1011) > * Update reachability metadata to 1.0.10 by [`@graalvmbot`](https://github.com/graalvmbot) in [graalvm/native-build-tools#1021](https://redirect.github.com/graalvm/native-build-tools/pull/1021) > > **Full Changelog**: <graalvm/native-build-tools@1.1.8...1.1.9> > > 1.1.8 > ----- > > What's Changed > -------------- > > * Release 1.1.7 by [`@graalvmbot`](https://github.com/graalvmbot) in [graalvm/native-build-tools#1009](https://redirect.github.com/graalvm/native-build-tools/pull/1009) > * Bump version to 1.1.8-SNAPSHOT by [`@graalvmbot`](https://github.com/graalvmbot) in [graalvm/native-build-tools#1010](https://redirect.github.com/graalvm/native-build-tools/pull/1010) > * Deprecate fallback plugin options by [`@jormundur00`](https://github.com/jormundur00) in [graalvm/native-build-tools#997](https://redirect.github.com/graalvm/native-build-tools/pull/997) > * Update reachability metadata to 1.0.9 by [`@graalvmbot`](https://github.com/graalvmbot) in [graalvm/native-build-tools#1014](https://redirect.github.com/graalvm/native-build-tools/pull/1014) > > **Full Changelog**: <graalvm/native-build-tools@1.1.7...1.1.8> > > 1.1.7 > ----- > > What's Changed > -------------- > > * Release 1.1.6 by [`@graalvmbot`](https://github.com/graalvmbot) in [graalvm/native-build-tools#996](https://redirect.github.com/graalvm/native-build-tools/pull/996) > * Suppress missing Javadoc diagnostics across convention tasks by [`@jormundur00`](https://github.com/jormundur00) in [graalvm/native-build-tools#994](https://redirect.github.com/graalvm/native-build-tools/pull/994) > * Replace deprecated Kotlin DSL delegated accessors by [`@jormundur00`](https://github.com/jormundur00) in [graalvm/native-build-tools#998](https://redirect.github.com/graalvm/native-build-tools/pull/998) > * Fix Maven plugin unit-test mock maker and SLF4J setup by [`@jormundur00`](https://github.com/jormundur00) in [graalvm/native-build-tools#999](https://redirect.github.com/graalvm/native-build-tools/pull/999) > * Bump version to 1.1.7-SNAPSHOT by [`@graalvmbot`](https://github.com/graalvmbot) in [graalvm/native-build-tools#1001](https://redirect.github.com/graalvm/native-build-tools/pull/1001) > * Bump io.netty:netty-codec-http from 4.1.135.Final to 4.1.136.Final in /samples/metadata-repo-integration by [`@dependabot`](https://github.com/dependabot)[bot] in [graalvm/native-build-tools#1002](https://redirect.github.com/graalvm/native-build-tools/pull/1002) > * Avoid Maven internal API for console colors by [`@jormundur00`](https://github.com/jormundur00) in [graalvm/native-build-tools#1003](https://redirect.github.com/graalvm/native-build-tools/pull/1003) > * Update reachability metadata to 1.0.8 by [`@graalvmbot`](https://github.com/graalvmbot) in [graalvm/native-build-tools#1008](https://redirect.github.com/graalvm/native-build-tools/pull/1008) > > **Full Changelog**: <graalvm/native-build-tools@1.1.6...1.1.7> Commits * [`70a22ad`](graalvm/native-build-tools@70a22ad) Release 1.1.9 * [`226c2f2`](graalvm/native-build-tools@226c2f2) Merge pull request [#1021](https://redirect.github.com/graalvm/native-build-tools/issues/1021) from graalvm/update-metadata-to-1.0.10 * [`750e24d`](graalvm/native-build-tools@750e24d) Update reachability metadata to 1.0.10 * [`f9d090c`](graalvm/native-build-tools@f9d090c) Clarify layer selector and test suite support * [`8a62507`](graalvm/native-build-tools@8a62507) Skip later Gradle layer consumers on GraalVM 25.0 * [`fa9cb64`](graalvm/native-build-tools@fa9cb64) Narrow GraalVM 25.0 layer test skips * [`a7f0ca4`](graalvm/native-build-tools@a7f0ca4) Skip Gradle layer consumers on GraalVM 25.0 * [`cf67f05`](graalvm/native-build-tools@cf67f05) Skip Maven shared layer test on GraalVM 25.0 * [`60da37c`](graalvm/native-build-tools@60da37c) Skip Maven all-selector layer test on GraalVM 25.0 * [`0498739`](graalvm/native-build-tools@0498739) Fix layered image runtime distribution * Additional commits viewable in [compare view](graalvm/native-build-tools@1.1.6...1.1.9) [](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- Dependabot commands and options You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What changed
The developer guide now distinguishes the JDK used to launch Gradle from the Java 17 toolchain required to compile Native Build Tools. Gradle may run on a newer supported JDK, including JDK 21 or 25, but a discoverable JDK 17 installation is still required. When Java 17 is unavailable, root configuration fails early with repository-specific guidance while retaining Gradle's underlying toolchain failure for diagnostics.
The root build also has a new opt-in core mode that omits the documentation composite before it is configured. Root lifecycle tasks aggregate every build selected by the active mode, and the default full
buildrenders the AsciiDoc documentation.Why
Developers using a newer launcher JDK could reasonably assume that no Java 17 installation was needed, then receive a delayed generic toolchain failure. Documentation dependencies were also configured even when a developer only needed the product builds, and root
assembledid not actually assemble the included builds despite the developer guide saying it did.The change makes the required toolchains explicit, provides a faster docs-independent feedback path, and makes the documented root lifecycle behavior match the task graph.
Example
Run the normal documentation-inclusive repository build:
Run the product builds without configuring or rendering documentation:
The property is strict: absence or
falseselects the full build,trueselects core mode, and any other value fails during settings evaluation.Implementation summary
org.graalvm.build.coreparsing and omitteddocsduring settings composition in core mode.assemble,test,check, andinspectionsaggregate the builds present in the selected mode.buildto the documentation build and connected the documentationbuildlifecycle toasciidoctor.Validation
The following checks passed:
./gradlew -p build-logic/aggregator cleanTest test --console=plain— 5 focused TestKit tests../gradlew -p build-logic/documentation-plugins cleanTest test --console=plain— 1 focused TestKit test with rendered AsciiDoc output.grund checkgrund fmt . --marker --cross-refs --checkgit diff --check./gradlew help -Porg.graalvm.build.core=true --console=plain-Porg.graalvm.build.core=yesbuild --dry-runtask-graph assertion containing:docs:asciidoctorand:docs:buildbuild --dry-runtask-graph assertion containing product/common tasks and no:docs:tasks./gradlew :native-gradle-plugin:inspections :native-maven-plugin:inspections -Porg.graalvm.build.core=true --console=plainA complete root
./gradlew buildwas not rerun because the existing:native-gradle-plugin:validatePluginstask reports unrelated Gradle 9.6.1 validation failures. Broad Native Image functional suites, the exact CI matrix, and documentation publication variants were not run locally.Fixes #988
AI workflow
Generated by Rhei’s
github-issue-fixworkflow using 23 completed AI-assisted steps, 3 resolved models, and 3 focused review cycles. A maintainer-directed citation-only repair completed the blocked publication afterward.View AI workflow details
Approved proposal:
bbce876008d81808.Model: openai:gpt-5.6-sol · Agent: codex · Reasoning effort: medium
Tokens: 738019 total · 726819 input (633472 cached) · 11200 output
Captured issue #988, repository rules, specifications, worktree metadata, and implementation scope.
Model: not applicable · Agent: human · Reasoning effort: not applicable
Tokens: not applicable
Approved proposal
bbce876008d81808for implementation.Model: openai:gpt-5.6-sol · Agent: codex · Reasoning effort: medium
Tokens: 7082293 total · 7059553 input (6852608 cached) · 22740 output
Implemented the core/full build split, lifecycle aggregation, documentation rendering, developer guidance, specification updates, and focused TestKit coverage.
Model: openai:gpt-5.6-sol · Agent: codex · Reasoning effort: medium
Tokens: 2161957 total · 2149463 input (2060928 cached) · 12494 output
Ran focused tests, grounding checks, task-graph assertions, documentation rendering, and missing-toolchain reproduction.
Model: openai:gpt-5.6-terra · Agent: codex · Reasoning effort: medium
Tokens: 201905 total · 199426 input (164480 cached) · 2479 output
Identified that the Java-17-unavailable acceptance criterion needed an earlier repository-owned diagnostic or stronger evidence.
Model: openai:gpt-5.6-terra · Agent: codex · Reasoning effort: medium
Tokens: 233051 total · 229794 input (190464 cached) · 3257 output
Checked specification order, repository grounding, and citation coverage with no blockers.
Model: openai:gpt-5.6-terra · Agent: codex · Reasoning effort: medium
Tokens: 217588 total · 213775 input (172672 cached) · 3813 output
Reviewed the initial implementation for scope, correctness, and regression coverage.
Model: openai:gpt-5.6-terra · Agent: codex · Reasoning effort: medium
Tokens: 220063 total · 216368 input (180608 cached) · 3695 output
Accepted the focused validation while recording the missing-JDK evidence needed by requirements review.
Model: openai:gpt-5.6-sol · Agent: codex · Reasoning effort: medium
Tokens: 129688 total · 127599 input (88320 cached) · 2089 output
Reconciled the specialist reviews and routed the missing-JDK diagnostic repair.
Model: openai:gpt-5.6-sol · Agent: codex · Reasoning effort: medium
Tokens: 1441840 total · 1432088 input (1358592 cached) · 9752 output
Added the early Java 17 prerequisite diagnostic, its specification, and constrained TestKit coverage.
Model: openai:gpt-5.6-sol · Agent: codex · Reasoning effort: medium
Tokens: 949494 total · 937936 input (845312 cached) · 11558 output
Verified the new diagnostic, normal newer-JDK launcher behavior, focused tests, grounding, and task graphs.
Model: openai:gpt-5.6-terra · Agent: codex · Reasoning effort: medium
Tokens: 329495 total · 325266 input (288896 cached) · 4229 output
Confirmed the repaired implementation satisfied the issue acceptance criteria.
Model: openai:gpt-5.6-terra · Agent: codex · Reasoning effort: medium
Tokens: 311804 total · 306415 input (257792 cached) · 5389 output
Found that the missing-JDK TestKit case lacked its most-specific specification citation.
Model: openai:gpt-5.6-terra · Agent: codex · Reasoning effort: medium
Tokens: 285318 total · 279309 input (234880 cached) · 6009 output
Confirmed implementation behavior and reported the same missing test citation blocker.
Model: openai:gpt-5.6-terra · Agent: codex · Reasoning effort: medium
Tokens: 296967 total · 292549 input (257152 cached) · 4418 output
Accepted focused validation and documented the remaining broad validation gaps.
Model: openai:gpt-5.6-sol · Agent: codex · Reasoning effort: medium
Tokens: 179869 total · 176620 input (132736 cached) · 3249 output
Reconciled cycle 2 and routed the missing citation repair.
Model: openai:gpt-5.6-sol · Agent: codex · Reasoning effort: medium
Tokens: 336319 total · 332173 input (300288 cached) · 4146 output
Added
§FS-build-infrastructure.2.1to the missing-Java-17 TestKit case.Model: openai:gpt-5.6-sol · Agent: codex · Reasoning effort: medium
Tokens: 1101052 total · 1086362 input (998144 cached) · 14690 output
Reran focused TestKit, grounding, task-graph, inspection, and missing-toolchain checks.
Model: openai:gpt-5.6-terra · Agent: codex · Reasoning effort: medium
Tokens: 323460 total · 319071 input (268416 cached) · 4389 output
Confirmed all issue requirements were satisfied.
Model: openai:gpt-5.6-terra · Agent: codex · Reasoning effort: medium
Tokens: 383331 total · 377726 input (339072 cached) · 5605 output
Found two missing most-specific citations on the newly added TestKit dependency infrastructure.
Model: openai:gpt-5.6-terra · Agent: codex · Reasoning effort: medium
Tokens: 256480 total · 252708 input (216448 cached) · 3772 output
Found the new missing-toolchain citation comment placed between
@Testand its declaration.Model: openai:gpt-5.6-terra · Agent: codex · Reasoning effort: medium
Tokens: 210758 total · 207037 input (174080 cached) · 3721 output
Accepted all focused validation with no blocking failures.
Model: openai:gpt-5.6-sol · Agent: codex · Reasoning effort: medium
Tokens: 126767 total · 123858 input (100608 cached) · 2909 output
Reconciled the final review and recorded three fixable citation and placement blockers.
Model: openai:gpt-5.6-luna · Agent: codex · Reasoning effort: medium
Tokens: 87296 total · 85811 input (68480 cached) · 1485 output
Kept the branch local because the configured two repair visits were exhausted after the third review cycle.
Model: not recorded by Rhei · Agent: codex · Reasoning effort: not reported
Tokens: not captured by Rhei accounting
Applied the three citation-only review fixes, reran the focused checks, committed the result, pushed
graalvm:rhei/issue-988, and opened this ready-for-review PR.Aggregate token usage: 17604814 total · 17457726 input (16184448 cached) · 147088 output
The aggregate covers all 23 finalized Rhei agent invocations and excludes the maintainer-directed final repair and publication. Deterministic program routing is non-model work. Focused review cycles: 3. Review-repair cycles: 2 within Rhei, followed by one citation-only completion. Accounting coverage: 23 measured Rhei invocations. Superseded attempts: none. Unmeasured Rhei attempts: none. Pricing: unpriced. Unsupported cache dimensions: input cache write, output cached read, and output cache write.