Skip to content

Conversation

@jormundur00
Copy link
Member

@jormundur00 jormundur00 commented Dec 8, 2025

What does this PR do?

In this PR we remove the unnecessary inner, version-based, metadata index.json file. This file was only used to verify the contents of the specific version directory (to verify that all files listed in the index.json are present in the directory, and no additional files are present). This file seems redundant, as the MetadataFilesCheckerTask already checks if all the files listed in the inner directory are specific metadata files (so checking if the files match the files listed in index.json seems unnecessary).

The removal of this file is important for the 1.0.0 release of GraalVM Reachability metadata, as we aim to simplify the addition of new metadata to the repository, as well as remove the extra overhead we got from the additional JSON files.

As this PR aims to modify all existing metadata directories, it has to be split into two PRs to avoid reaching the GitHub Actions job limit.

Fixes: #846

@jormundur00 jormundur00 requested a review from vjovanov as a code owner December 8, 2025 14:26
@jormundur00 jormundur00 self-assigned this Dec 8, 2025
@jormundur00 jormundur00 added the enhancement New feature or request label Dec 8, 2025
@jormundur00
Copy link
Member Author

The "Test changed metadata" and "Test changed build logic" checks fail here because we try to remove the index.json file located in metadata/org.eclipse.angus/jakarta.mail/1.0.0, but the global index.json (located in metadata/index.json) has no entry for that artifact.

Looking at the PR where metadata for this artifact was added it was, probably by mistake, not added to the global index.json, and the metadata for it was not changed since, so this check never ran.

I can add it to the index.json in this PR (or we can open a separate issue for it), but I'm unsure which allowed-packages should be listed for this artifact.

CC: @vjovanov @kimeta

@jormundur00 jormundur00 requested a review from kimeta December 8, 2025 15:06
@vjovanov
Copy link
Member

vjovanov commented Dec 8, 2025

The redness of this PR expresses the usefulness of this feature.

@kimeta
Copy link
Collaborator

kimeta commented Dec 8, 2025

The "Test changed metadata" and "Test changed build logic" checks fail here because we try to remove the index.json file located in metadata/org.eclipse.angus/jakarta.mail/1.0.0, but the global index.json (located in metadata/index.json) has no entry for that artifact.

Looking at the PR where metadata for this artifact was added it was, probably by mistake, not added to the global index.json, and the metadata for it was not changed since, so this check never ran.

I can add it to the index.json in this PR (or we can open a separate issue for it), but I'm unsure which allowed-packages should be listed for this artifact.

CC: @vjovanov @kimeta

This seems to me like a bug as well. allowed-packages should cover the packages of the classes specified in the condition entries within the config files. In this case "jakarta" should work.
Also checkMetadataFiles will probably fail due to missing condition entries in the metadata/org.eclipse.angus/jakarta.mail/1.0.0/resource-config.json.

@jormundur00 jormundur00 requested a review from a team as a code owner December 9, 2025 07:20
@jormundur00 jormundur00 changed the title Remove inner metadata index.json (metadata/<groupId>/<artifactId>/<version>/index.json) from the repository Remove inner metadata index.json (metadata/<groupId>/<artifactId>/<version>/index.json) from the repository (Part #1) Dec 9, 2025
@jormundur00 jormundur00 merged commit 61c1deb into master Dec 9, 2025
159 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Feature: Remove inner, library-version-based index.json

3 participants