{ "$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" } } } }