4 changed files with 274 additions and 1 deletions
@ -0,0 +1,100 @@
@@ -0,0 +1,100 @@
|
||||
{ |
||||
"$id": "https://raw.githubusercontent.com/oracle/graalvm-reachability-metadata/master/metadata/schemas/library-and-framework-support-schema-v1.0.0.json", |
||||
"$schema": "https://json-schema.org/draft/2019-09/schema", |
||||
"default": [], |
||||
"examples": [ |
||||
{ |
||||
"artifact": "io.netty:netty5-parent", |
||||
"details": [ |
||||
{ |
||||
"minimum_version": "4.1", |
||||
"metadata_locations": [ |
||||
"https://github.com/netty/netty/tree/main/common/src/main/resources/META-INF/native-image" |
||||
], |
||||
"tests_locations": [ |
||||
"https://github.com/netty/netty/actions" |
||||
], |
||||
"test_level": "fully-tested" |
||||
} |
||||
] |
||||
} |
||||
], |
||||
"items": { |
||||
"properties": { |
||||
"artifact": { |
||||
"default": "", |
||||
"description": "The artifact name in the groupId:artifactId format", |
||||
"pattern": "^[a-zA-Z0-9._-]+:[a-zA-Z0-9._*-]+$", |
||||
"title": "The name of the artifact", |
||||
"type": "string" |
||||
}, |
||||
"description": { |
||||
"default": "", |
||||
"title": "Short description of the library or framework", |
||||
"type": "string" |
||||
}, |
||||
"details": { |
||||
"default": [], |
||||
"items": { |
||||
"default": {}, |
||||
"properties": { |
||||
"maximal_version": { |
||||
"default": "", |
||||
"description": "Maximum version for which this entry applies. If not defined, it is assumed to be supported for all versions starting from the minimum_version", |
||||
"title": "Maximal version for which this entry applies", |
||||
"type": "string" |
||||
}, |
||||
"metadata_locations": { |
||||
"default": [], |
||||
"items": { |
||||
"default": "", |
||||
"type": "string" |
||||
}, |
||||
"title": "Web URLs of provided metadata", |
||||
"type": "array" |
||||
}, |
||||
"minimum_version": { |
||||
"default": "", |
||||
"title": "Minimal version for which this entry applies", |
||||
"type": "string" |
||||
}, |
||||
"test_level": { |
||||
"default": "Untested", |
||||
"enum": [ |
||||
"untested", |
||||
"community-tested", |
||||
"fully-tested" |
||||
], |
||||
"title": "Testing level of reachability metadata for the library or framework", |
||||
"type": "string" |
||||
}, |
||||
"tests_locations": { |
||||
"default": [], |
||||
"items": { |
||||
"default": "", |
||||
"type": "string" |
||||
}, |
||||
"title": "Web URLs to tests (sources, CI dashboards/configurations, ...)", |
||||
"type": "array" |
||||
} |
||||
}, |
||||
"required": [ |
||||
"minimum_version", |
||||
"metadata_locations", |
||||
"tests_locations", |
||||
"test_level" |
||||
], |
||||
"type": "object" |
||||
}, |
||||
"type": "array" |
||||
} |
||||
}, |
||||
"required": [ |
||||
"artifact", |
||||
"details" |
||||
], |
||||
"type": "object" |
||||
}, |
||||
"title": "Schema for the 'library-and-framework-list.json'", |
||||
"type": "array" |
||||
} |
||||
@ -0,0 +1,106 @@
@@ -0,0 +1,106 @@
|
||||
{ |
||||
"$id": "https://raw.githubusercontent.com/oracle/graalvm-reachability-metadata/master/metadata/schemas/metadata-library-index-schema-v1.0.0.json", |
||||
"$schema": "https://json-schema.org/draft/2020-12/schema", |
||||
"description": "Schema for metadata/<groupId>/<artifactId>/index.json. Each entry describes a metadata bundle for a range of library versions.", |
||||
"type": "array", |
||||
"minItems": 1, |
||||
"items": { |
||||
"type": "object", |
||||
"additionalProperties": false, |
||||
"required": [ |
||||
"module", |
||||
"metadata-version", |
||||
"tested-versions" |
||||
], |
||||
"properties": { |
||||
"module": { |
||||
"$ref": "#/$defs/moduleCoordinate", |
||||
"description": "Maven coordinates in the form '<groupId>:<artifactId>'." |
||||
}, |
||||
"metadata-version": { |
||||
"type": "string", |
||||
"minLength": 1, |
||||
"description": "Subdirectory name where the metadata files for this entry reside, e.g. '7.1.0.Final'." |
||||
}, |
||||
"tested-versions": { |
||||
"type": "array", |
||||
"description": "Explicitly tested upstream library versions that this metadata is known to support.", |
||||
"minItems": 1, |
||||
"uniqueItems": true, |
||||
"items": { |
||||
"type": "string", |
||||
"minLength": 1 |
||||
} |
||||
}, |
||||
"test-version": { |
||||
"type": "string", |
||||
"minLength": 1, |
||||
"description": "Overrides 'metadata-version' for use in test directories. This allows one metadata entry to share tests defined for a different version's metadata directory." |
||||
}, |
||||
"latest": { |
||||
"type": "boolean", |
||||
"description": "Marks this entry as the latest/default metadata for currently supported versions." |
||||
}, |
||||
"default-for": { |
||||
"type": "string", |
||||
"description": "Java regular expression describing the version range for which this entry should be used by default (e.g. '7\\\\.1\\\\..*')." |
||||
}, |
||||
"override": { |
||||
"type": "boolean", |
||||
"description": "When true, expresses the intent to exclude outdated built-in metadata shipped with Native Image for the matched versions." |
||||
}, |
||||
"skipped-versions": { |
||||
"type": "array", |
||||
"description": "Versions explicitly excluded from support, each with a reason.", |
||||
"minItems": 1, |
||||
"items": { |
||||
"type": "object", |
||||
"additionalProperties": false, |
||||
"required": [ "version", "reason" ], |
||||
"properties": { |
||||
"version": { |
||||
"type": "string", |
||||
"minLength": 1 |
||||
}, |
||||
"reason": { |
||||
"type": "string", |
||||
"minLength": 1 |
||||
} |
||||
} |
||||
} |
||||
} |
||||
} |
||||
}, |
||||
"$defs": { |
||||
"moduleCoordinate": { |
||||
"type": "string", |
||||
"pattern": "^[^:]+:[^:]+$" |
||||
} |
||||
}, |
||||
"examples": [ |
||||
[ |
||||
{ |
||||
"metadata-version": "0.0.1", |
||||
"module": "org.example:library", |
||||
"tested-versions": [ "0.0.1", "0.0.2" ], |
||||
"default-for": "0\\.0\\..*", |
||||
"test-version": "0.0.1" |
||||
}, |
||||
{ |
||||
"latest": true, |
||||
"metadata-version": "1.0.0", |
||||
"module": "org.example:library", |
||||
"tested-versions": [ "1.0.0", "1.1.0" , "1.2.0"] |
||||
}, |
||||
{ |
||||
"metadata-version": "1.19.0", |
||||
"module": "io.opentelemetry:opentelemetry-sdk-trace", |
||||
"tested-versions": [ "1.19.0" ], |
||||
"override": true, |
||||
"skipped-versions": [ |
||||
{ "version": "1.34.0", "reason": "Dependency io.opentelemetry:opentelemetry-api:1.34.0 provides reflect-config.json which does not parse." } |
||||
] |
||||
} |
||||
] |
||||
] |
||||
} |
||||
@ -0,0 +1,67 @@
@@ -0,0 +1,67 @@
|
||||
{ |
||||
"$id": "https://raw.githubusercontent.com/oracle/graalvm-reachability-metadata/master/metadata/schemas/metadata-root-index-schema-v1.0.0.json", |
||||
"$schema": "https://json-schema.org/draft/2020-12/schema", |
||||
"description": "Schema for metadata/index.json. This file lists modules known to the repository and optionally the directory where their metadata is stored, the allowed package prefixes for metadata, and inter-module requirements. See docs/CONTRIBUTING.md (Metadata structure).", |
||||
"type": "array", |
||||
"items": { |
||||
"type": "object", |
||||
"additionalProperties": false, |
||||
"required": ["module"], |
||||
"properties": { |
||||
"module": { |
||||
"$ref": "#/$defs/moduleCoordinate", |
||||
"description": "Maven coordinates for the module in the form '<groupId>:<artifactId>'." |
||||
}, |
||||
"directory": { |
||||
"type": "string", |
||||
"minLength": 1, |
||||
"pattern": "^[^\\s].*$", |
||||
"description": "Repository-relative path under 'metadata/' containing this module's metadata (e.g. 'org.example/library'). If omitted, the entry may reference requirements only." |
||||
}, |
||||
"allowed-packages": { |
||||
"type": "array", |
||||
"description": "List of package (or fully-qualified name) prefixes considered valid sources of metadata entries for this module. Used to filter-in relevant JSON entries.", |
||||
"minItems": 1, |
||||
"uniqueItems": true, |
||||
"items": { |
||||
"type": "string", |
||||
"minLength": 1 |
||||
} |
||||
}, |
||||
"requires": { |
||||
"type": "array", |
||||
"description": "Optional list of module coordinates this module depends on. Each item is '<groupId>:<artifactId>'.", |
||||
"minItems": 1, |
||||
"uniqueItems": true, |
||||
"items": { |
||||
"$ref": "#/$defs/moduleCoordinate" |
||||
} |
||||
} |
||||
} |
||||
}, |
||||
"$defs": { |
||||
"moduleCoordinate": { |
||||
"type": "string", |
||||
"pattern": "^[^:]+:[^:]+$" |
||||
} |
||||
}, |
||||
"examples": [ |
||||
[ |
||||
{ |
||||
"directory": "org.example/library", |
||||
"module": "org.example:library" |
||||
}, |
||||
{ |
||||
"allowed-packages": ["org.package.name"], |
||||
"module": "org.example:dependant-library", |
||||
"requires": ["org.example:library"] |
||||
}, |
||||
{ |
||||
"allowed-packages" : [ "org.hibernate", "jakarta" ], |
||||
"directory" : "org.hibernate.orm/hibernate-envers", |
||||
"module" : "org.hibernate.orm:hibernate-envers", |
||||
"requires" : [ "org.hibernate.orm:hibernate-core" ] |
||||
} |
||||
] |
||||
] |
||||
} |
||||
Loading…
Reference in new issue