| { |
| "$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" |
| }, |
| "root": { |
| "description": "The root of the element in the SDK", |
| "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" |
| } |
| } |
| } |
| } |