blob: 187f739928e2c2a75eba97731904543c696d06ed [file] [log] [blame]
{
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "http://fuchsia.com/schemas/sdk/loadable_module.json",
"description": "A collection of object files that can be loaded at runtime",
"type": "object",
"allOf": [
{
"$ref": "common.json#/definitions/sdk_element"
},
{
"properties": {
"type": {
"allOf": [
{
"$ref": "common.json#/definitions/type"
},
{
"enum": [
"loadable_module"
]
}
]
},
"name": {
"description": "Name of the module",
"type": "string"
},
"resources": {
"description": "Resource files associated with the module",
"type": "array",
"items": {
"$ref": "common.json#/definitions/file"
}
},
"binaries": {
"description": "The binary files for the module, per architecture",
"type": "object",
"properties": {
"x64": {
"description": "Binaries for the x64 architecture",
"$ref": "#/definitions/binaryGroup"
},
"arm64": {
"description": "Binaries for the arm64 architecture",
"$ref": "#/definitions/binaryGroup"
}
},
"additionalProperties": false,
"minProperties": 1,
"maxProperties": 2
}
},
"required": [
"binaries",
"resources",
"name",
"type"
],
"additionalProperties": false
}
],
"definitions": {
"binaryGroup": {
"description": "A set of binary files compiled for a given architecture",
"type": "array",
"items": {
"$ref": "common.json#/definitions/file"
}
}
}
}