Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

JSON schema for the Native Libraries Support repository #90

Merged
111 changes: 111 additions & 0 deletions library-and-framework-support-schema.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,111 @@
{
dnestoro marked this conversation as resolved.
Show resolved Hide resolved
"$schema": "https://json-schema.org/draft/2019-09/schema",
"$id": "This will be populated with actual link once uploaded",
dnestoro marked this conversation as resolved.
Show resolved Hide resolved
"title": "Schema for the supported libraries list JSON",
dnestoro marked this conversation as resolved.
Show resolved Hide resolved
"type": "array",
"default": [],
"items": {
"type": "object",
"required": [
"artifact",
"details"
],
"properties": {
"artifact": {
"type": "string",
"pattern": "^[a-zA-Z0-9.-]+:[a-zA-Z0-9.-]+$",
"default": "",
"title": "The name of the artifact",
"description": "The artifact name should be provided in following format: groupId:artifactId"
dnestoro marked this conversation as resolved.
Show resolved Hide resolved
},
"description": {
"type": "string",
"default": "",
"title": "Short text that says what the library or framework can do"
dnestoro marked this conversation as resolved.
Show resolved Hide resolved
},
"details": {
"type": "array",
"default": [],
"items": {
"type": "object",
"default": {},
"required": [
"minimal_version",
"metadata_locations",
"tests_locations",
"test_level"
],
"properties": {
"minimal_version": {
"type": "string",
"default": "",
"title": "Minimal version for which this entry applies"
},
"maximal_version": {
"type": "string",
"default": "",
"title": "Maximal version for which this entry applies",
"description": "If not defined, it is assumed to be supported for all versions starting from the minimum_version"
dnestoro marked this conversation as resolved.
Show resolved Hide resolved
},
"metadata_locations": {
"type": "array",
"default": [],
"items": {
"type": "string",
"default": ""
},
"title": "Web URLs of provided metadata"
},
"tests_locations": {
"type": "array",
"default": [],
"items": {
"type": "string",
"default": ""
},
"title": "Web URLs to tests (sources, CI dashboards/configurations, ...)"
},
"test_level": {
"type": "string",
"enum": [
"Untested",
"Community tested",
"Fully tested"
],
"default": "Untested",
"title": "Testing level of reachability metadata for the library or framework"
}
}
}
}
}
},
"examples": [
{
"artifact": "io.netty:netty5-parent",
"details": [
{
"minimal_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"
},
{
"minimal_version": "2.0",
"maximum_version": "4.0",
"metadata_locations": [
"https://github.com/netty/netty/tree/main/common/src/main/resources/META-INF/native-image"
dnestoro marked this conversation as resolved.
Show resolved Hide resolved
],
"tests_locations": [
"https://github.com/oracle/graalvm-reachability-metadata/actions"
],
"test_level": "Community tested"
}
]
}
]
}