Remove the usage of the global metadata/index.json from the nbt plugins#829
Merged
Conversation
cfca9a4 to
290ef72
Compare
Member
Author
|
With the usage of the The plan is to, once both PRs are approved for merging:
@vjovanov @melix please take a look at both this PR and the Reachability Metadata PR when you have the time, as the |
vjovanov
previously approved these changes
Feb 10, 2026
776f79e to
3b416ad
Compare
3b416ad to
888dc2a
Compare
vjovanov
previously approved these changes
Feb 11, 2026
vjovanov
approved these changes
Feb 11, 2026
jormundur00
added a commit
that referenced
this pull request
Feb 19, 2026
mergify Bot
added a commit
to robfrank/linklift
that referenced
this pull request
Mar 10, 2026
…1.4 to 0.11.5 [skip ci] Bumps [org.graalvm.buildtools:native-maven-plugin](https://github.com/graalvm/native-build-tools) from 0.11.4 to 0.11.5. Release notes *Sourced from [org.graalvm.buildtools:native-maven-plugin's releases](https://github.com/graalvm/native-build-tools/releases).* > 0.11.5 > ------ > > What's Changed > -------------- > > * Bump version to 0.11.5-SNAPSHOT by [`@graalvmbot`](https://github.com/graalvmbot) in [graalvm/native-build-tools#817](https://redirect.github.com/graalvm/native-build-tools/pull/817) > * Make environment variables set in the pom.xml of the native-maven-plugin be visible in the image builder by [`@jormundur00`](https://github.com/jormundur00) in [graalvm/native-build-tools#819](https://redirect.github.com/graalvm/native-build-tools/pull/819) > * Add check if correct schemas are present in the reachability metadata repository provided to buildtools by [`@jormundur00`](https://github.com/jormundur00) in [graalvm/native-build-tools#821](https://redirect.github.com/graalvm/native-build-tools/pull/821) > * Add fallback for jarless artifacts in the native-maven-plugin by [`@jormundur00`](https://github.com/jormundur00) in [graalvm/native-build-tools#824](https://redirect.github.com/graalvm/native-build-tools/pull/824) > * Fix JUnit 6 not working correctly with JDK 21 by expanding the initialize-at-build-time-list by [`@jormundur00`](https://github.com/jormundur00) in [graalvm/native-build-tools#832](https://redirect.github.com/graalvm/native-build-tools/pull/832) > * Remove the usage of the global metadata/index.json from the nbt plugins by [`@jormundur00`](https://github.com/jormundur00) in [graalvm/native-build-tools#829](https://redirect.github.com/graalvm/native-build-tools/pull/829) > * Revert "Remove the usage of the global metadata/index.json from the nbt plugins" by [`@jormundur00`](https://github.com/jormundur00) in [graalvm/native-build-tools#836](https://redirect.github.com/graalvm/native-build-tools/pull/836) > * Use JDK 21 Graal in the CI by [`@jormundur00`](https://github.com/jormundur00) in [graalvm/native-build-tools#839](https://redirect.github.com/graalvm/native-build-tools/pull/839) > * Support `-H:+CompatibilityMode` in build tools by [`@vjovanov`](https://github.com/vjovanov) in [graalvm/native-build-tools#822](https://redirect.github.com/graalvm/native-build-tools/pull/822) > * Update reachability metadata to 0.3.34 by [`@graalvmbot`](https://github.com/graalvmbot) in [graalvm/native-build-tools#842](https://redirect.github.com/graalvm/native-build-tools/pull/842) > > **Full Changelog**: <graalvm/native-build-tools@0.11.4...0.11.5> Commits * [`ffd094d`](graalvm/native-build-tools@ffd094d) Release 0.11.5 * [`1d7c2f7`](graalvm/native-build-tools@1d7c2f7) Merge pull request [#842](https://redirect.github.com/graalvm/native-build-tools/issues/842) from graalvm/update-metadata-to-0.3.34 * [`ba1c2e8`](graalvm/native-build-tools@ba1c2e8) Update reachability metadata to 0.3.34 * [`790fa05`](graalvm/native-build-tools@790fa05) Merge pull request [#822](https://redirect.github.com/graalvm/native-build-tools/issues/822) from graalvm/vj/compatibility-mode * [`0631241`](graalvm/native-build-tools@0631241) Implement Compatibility Mode detection * [`1844654`](graalvm/native-build-tools@1844654) Use JDK 21 Graal in the CI ([#839](https://redirect.github.com/graalvm/native-build-tools/issues/839)) * [`6315677`](graalvm/native-build-tools@6315677) Revert "Remove the usage of the global metadata/index.json from the nbt plugi... * [`fe065ce`](graalvm/native-build-tools@fe065ce) Remove the usage of the global metadata/index.json from the nbt plugins ([#829](https://redirect.github.com/graalvm/native-build-tools/issues/829)) * [`94b5b54`](graalvm/native-build-tools@94b5b54) Fix JUnit 6 not working correctly with JDK 21 by expanding the initialize-at-... * [`086cfdf`](graalvm/native-build-tools@086cfdf) Add fallback for jarless artifacts in the native-maven-plugin ([#824](https://redirect.github.com/graalvm/native-build-tools/issues/824)) * Additional commits viewable in [compare view](graalvm/native-build-tools@0.11.4...0.11.5) [](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
May 3, 2026
…1.5 to 1.1.0 [skip ci] Bumps [org.graalvm.buildtools:native-maven-plugin](https://github.com/graalvm/native-build-tools) from 0.11.5 to 1.1.0. Release notes *Sourced from [org.graalvm.buildtools:native-maven-plugin's releases](https://github.com/graalvm/native-build-tools/releases).* > 1.1.0 > ----- > > What's Changed > -------------- > > * Release 1.0.0 by [`@graalvmbot`](https://github.com/graalvmbot) in [graalvm/native-build-tools#857](https://redirect.github.com/graalvm/native-build-tools/pull/857) > * Bump version to 1.0.1-SNAPSHOT by [`@graalvmbot`](https://github.com/graalvmbot) in [graalvm/native-build-tools#858](https://redirect.github.com/graalvm/native-build-tools/pull/858) > * Use a safer way to create the temporary access filter file by [`@sschuberth`](https://github.com/sschuberth) in [graalvm/native-build-tools#852](https://redirect.github.com/graalvm/native-build-tools/pull/852) > * Bump io.netty:netty-codec-http from 4.1.129.Final to 4.1.132.Final in /samples/metadata-repo-integration by [`@dependabot`](https://github.com/dependabot)[bot] in [graalvm/native-build-tools#859](https://redirect.github.com/graalvm/native-build-tools/pull/859) > * Add class introduced in 5.14.1/6.0.1 by [`@marcphilipp`](https://github.com/marcphilipp) in [graalvm/native-build-tools#794](https://redirect.github.com/graalvm/native-build-tools/pull/794) > * Reduce CI usage by running CI only on "pull\_request" and running only the latest gradle version (except when creating a new release) by [`@jormundur00`](https://github.com/jormundur00) in [graalvm/native-build-tools#861](https://redirect.github.com/graalvm/native-build-tools/pull/861) > * Update latest docs symlink and improve 1.0.0 release notes by [`@jormundur00`](https://github.com/jormundur00) in [graalvm/native-build-tools#866](https://redirect.github.com/graalvm/native-build-tools/pull/866) > * Fix early classpath resolution in GenerateDynamicAccessMetadata by [`@jormundur00`](https://github.com/jormundur00) in [graalvm/native-build-tools#868](https://redirect.github.com/graalvm/native-build-tools/pull/868) > * Bump reachability metadata version to 1.0.0 by [`@jormundur00`](https://github.com/jormundur00) in [graalvm/native-build-tools#879](https://redirect.github.com/graalvm/native-build-tools/pull/879) > * Add listLibrariesMissingMetadata task/goal for Gradle and Maven by [`@jormundur00`](https://github.com/jormundur00) in [graalvm/native-build-tools#877](https://redirect.github.com/graalvm/native-build-tools/pull/877) > > **Full Changelog**: <graalvm/native-build-tools@1.0.0...1.1.0> > > 1.0.0 > ----- > > Breaking Changes > ---------------- > > * Native Build Tools 1.0.0 moves to the `1.0-M1` release of the reachability metadata repository, which uses the new `reachability-metadata.json` metadata format and no longer uses the global `metadata/index.json`. > * This may require dependency and metadata updates in downstream projects; some stacks can regress until they adapt. > > What's Changed > -------------- > > * Fix broken JavaApplicationFunctionalTest due to using a removed feature by [`@jormundur00`](https://github.com/jormundur00) in [graalvm/native-build-tools#850](https://redirect.github.com/graalvm/native-build-tools/pull/850) > * Remove the usage of the global metadata/index.json from the nbt plugins by [`@jormundur00`](https://github.com/jormundur00) in [graalvm/native-build-tools#829](https://redirect.github.com/graalvm/native-build-tools/pull/829) > * Add reachability-metadata-schema cross-validation by [`@jormundur00`](https://github.com/jormundur00) in [graalvm/native-build-tools#840](https://redirect.github.com/graalvm/native-build-tools/pull/840) > * Merge 1.0-M1 branch to master by [`@jormundur00`](https://github.com/jormundur00) in [graalvm/native-build-tools#848](https://redirect.github.com/graalvm/native-build-tools/pull/848) > > **Full Changelog**: <graalvm/native-build-tools@0.11.5...1.0.0> Commits * [`84cc046`](graalvm/native-build-tools@84cc046) Release 1.1.0 * [`95512d0`](graalvm/native-build-tools@95512d0) Add listLibrariesMissingMetadata task/goal for Gradle and Maven ([#877](https://redirect.github.com/graalvm/native-build-tools/issues/877)) * [`0dcda78`](graalvm/native-build-tools@0dcda78) Merge pull request [#879](https://redirect.github.com/graalvm/native-build-tools/issues/879) from jormundur00/bump-metadata-repository-1.0.0 * [`e5b90f0`](graalvm/native-build-tools@e5b90f0) Bump reachability metadata version to 1.0.0 * [`05f45d3`](graalvm/native-build-tools@05f45d3) Fix early classpath resolution in GenerateDynamicAccessMetadata ([#868](https://redirect.github.com/graalvm/native-build-tools/issues/868)) * [`4d614c7`](graalvm/native-build-tools@4d614c7) Update latest docs symlink and improve 1.0.0 release notes ([#866](https://redirect.github.com/graalvm/native-build-tools/issues/866)) * [`ee1351d`](graalvm/native-build-tools@ee1351d) Reduce CI usage by running CI only on "pull\_request" and running only the lat... * [`c6f3674`](graalvm/native-build-tools@c6f3674) Add class introduced in 5.14.1/6.0.1 ([#794](https://redirect.github.com/graalvm/native-build-tools/issues/794)) * [`5bc69bd`](graalvm/native-build-tools@5bc69bd) Bump io.netty:netty-codec-http from 4.1.129.Final to 4.1.132.Final in /sample... * [`395f3b2`](graalvm/native-build-tools@395f3b2) Use a safer way to create the temporary access filter file ([#852](https://redirect.github.com/graalvm/native-build-tools/issues/852)) * Additional commits viewable in [compare view](graalvm/native-build-tools@0.11.5...1.1.0) [](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.
In this PR, we remove the legacy repository-wide
metadata/index.jsonand switch fully to per-moduleindex.jsonfiles as the single source of truth for reachability metadata discovery and dependency expansion.Motivation:
groupId/artifactId/index.json. The outermetadata/index.jsonwas redundant and a frequent source of confusion during packaging and updates.Summary of changes:
metadata/index.json. Discovery and resolution now operate exclusively on per-moduleindex.json.G:A), we include its own module directory and the conventional directories of any modules listed under "requires" inG/A/index.json.io.netty:netty-all) are included themselves and also expand their “requires” to bring in dependent module directories.As running changes in this PR depend on the reachability metadata repository PR which removes this
metadata/index.jsonfile, and the reachability metadata PR depends on buildtools working with this new format to test in the CI, the merge/release process of these PRs should have the following order:Please review this PR in conjunction with the reachability metadata PR.
The CI tests in this PR all fail due to:
(as the reachability metadata used in the latest release supports 3 schema files). Without removing the check for the 3rd schema (the global
metadata/index.jsonschema) the CI tests all pass. Once the reachability metadata PR is merged and the new release is out, the CI on this PR will be fixed.Fixes: #802