Remove global tests index.json file#894
Conversation
2e24b01 to
9f025e3
Compare
9f025e3 to
d7e656f
Compare
| .filter(s -> !s.isEmpty()) | ||
| .filter(s -> !s.startsWith("#")) | ||
| .forEach(requiredImages::add); | ||
| } |
There was a problem hiding this comment.
It should probably throw a GradleException if metadata version is not found.
There was a problem hiding this comment.
The metadata-version it defaults to must always be present in the index.json. The null check is there mostly to avoid warnings. We currently don't test this when adding new metadata, but will do this once the PR for schema validation is merged: #883.
| "type": "object", | ||
| "additionalProperties": false, | ||
| "required": [ | ||
| "module", |
There was a problem hiding this comment.
Do we need module field in every entry of index.json? Can it differ between two entries in the same index.json?
There was a problem hiding this comment.
As current functionality stands, we do need it in every entry. I don't think it can differ between two entries. I'll look into completely removing this field in a follow up PR for removing the metadata/index.json file.
The schema introduction I made in this PR has been removed, as I want to introduce all schemas in one uniform PR.
d7e656f to
4e72c90
Compare
What does this PR do?
This PR streamlines the metadata management process by removing the redundant global test index (
tests/src/index.json) and consolidating all test configuration functionality into the per-librarymetadata/<groupId>/<artifactId>/index.jsonfiles.Key Changes
1. Removal of Redundant Global Test Index
tests/src/index.json) is deleted.2. Consolidation and Introduction of the
test-versionFieldAll functionality from the removed global index is moved to the per-library metadata index, facilitated by a new field.
test-version(New Optional String)metadata-version. This allows multiple metadata configurations (e.g., across versions) to share a single, stable set of tests.metadata-library-index-schema-v1.0.0.jsonis updated to include the newtest-versionproperty, maintaining schema validation integrity for the modified files.3. Automated Maintenance and Integrity
The process for updating metadata is made more robust through new automation:
TestedVersionUpdaterTaskis updated to automatically handletest-versionpropagation. When a pre-release metadata directory is renamed to its full release counterpart (e.g.,1.0.0-M11.0.0), any index entries that relied on the old directory via thetest-versionoverride are automatically updated to point to the new full release version.FixTestNativeImageRunGradle task is updated to automatically set a default value for thetest-versionfield when new library metadata is generated.Prerequisites
This PR must only be merged after merging the schema update PR:
test-versionproperty into the JSON schema definition.)Fixes: #848