blob: b27dac85af316ecd640fc576ff7ad92a979b9231 [file] [log] [blame]
{
"$schema": "http://json-schema.org/draft-07/schema#",
"allOf": [
{
"$ref": "common.json#/definitions/sdk_element"
},
{
"additionalProperties": false,
"properties": {
"name": {
"description": "Name of the ffx subtool",
"type": "string"
},
"root": {
"$ref": "common.json#/definitions/file",
"description": "The installed root path of the element in the SDK"
},
"target_files": {
"additionalProperties": false,
"description": "The target-specific files, per architecture",
"maxProperties": 2,
"minProperties": 1,
"properties": {
"arm64": {
"$ref": "#/definitions/toolFiles",
"description": "Files for the arm64 architecture"
},
"x64": {
"$ref": "#/definitions/toolFiles",
"description": "Files for the x64 architecture"
}
},
"type": "object"
},
"files": {
"$ref": "#/definitions/toolFiles",
"description": "Architecture-generic files for this subtool"
},
"type": {
"allOf": [
{
"$ref": "common.json#/definitions/kind"
},
{
"enum": [
"ffx_tool"
]
}
]
}
},
"required": [
"root",
"name",
"type"
]
}
],
"definitions": {
"toolFiles": {
"description": "Types of files relevant to an ffx tool",
"properties": {
"executable": {
"$ref": "common.json#/definitions/file",
"description": "The path of the file that ffx should run to invoke the tool."
},
"executable_metadata": {
"$ref": "common.json#/definitions/file",
"description": "The path of the file that contains versioning information for ffx."
}
},
"additionalProperties": {
"$ref": "host_tool.json#/definitions/fileGroup",
"description": "Additional groups of files that may be used by this subtool. Must be lists of files."
},
"type": "object"
}
},
"description": "An externally compiled ffx subtool",
"id": "http://fuchsia.com/schemas/sdk/ffx_tool.json",
"type": "object"
}