blob: 34118dc4d1cbf5328e0a57d376cc0ec58642fab0 [file] [log] [blame]
{
"$schema": "http://json-schema.org/draft-07/schema#",
"definitions": {
"banjo_library_name": {
"description": "Name of a BANJO library",
"type": "string"
},
"bind_library_name": {
"description": "Name of a bind library",
"type": "string"
},
"cc_library_name": {
"description": "Name of a C/C++ library",
"type": "string"
},
"envelope": {
"additionalProperties": false,
"description": "A versioned envelope.",
"properties": {
"data": {
"description": "The payload."
},
"schema_id": {
"description": "The value of the '$id' property of the schema that constraints this JSON document.",
"minLength": 1,
"type": "string"
}
},
"required": [
"data",
"schema_id"
],
"type": "object"
},
"fidl_binding_type": {
"description": "Type of FIDL binding used. Currently defined in //build/cpp/fidl_cpp.gni",
"type": "string",
"enum": [
"cpp_common",
"cpp_wire_types",
"cpp_wire",
"cpp_wire_testing",
"cpp_natural_types",
"cpp_natural_ostream",
"cpp_type_conversions",
"cpp",
"cpp_testing",
"cpp_driver_wire",
"cpp_driver",
"cpp_hlcpp_conversion",
"hlcpp"
]
},
"fidl_library_name": {
"description": "Name of a FIDL library",
"type": "string"
},
"file": {
"description": "Path to a file from the root of the SDK",
"type": "string"
},
"key_value": {
"additionalItems": false,
"description": "A key-value pair.",
"items": [
{
"type": "string"
},
{
"type": [
"number",
"string",
"boolean"
]
}
],
"minItems": 2,
"type": "array"
},
"key_value_list": {
"description": "A list of key-value pairs.",
"items": {
"$ref": "#/definitions/key_value"
},
"type": "array"
},
"kind": {
"description": "Represents the type of an SDK element",
"type": "string"
},
"sdk_element": {
"description": "Base type for SDK elements",
"properties": {
"name": {
"description": "The name of the element",
"type": "string"
},
"type": {
"$ref": "#/definitions/kind"
}
},
"required": [
"name",
"type"
],
"type": "object"
},
"target_arch": {
"description": "Target architecture",
"enum": [
"arm64",
"riscv64",
"x64"
],
"type": "string"
},
"version": {
"description": "An opaque version string. The string may include any characters. Tools must not attempt to draw any conclusions about inter version compatibility other than the version 'X' manifest complies with the version 'X' of the schema and is therefore parsable by the version 'X' parser. There are no guarantees, for example, a parser for version 'B' may be able to parse a JSON document versioned 'A'.",
"minLength": 1,
"type": "string"
},
"versioned_sdk_element": {
"allOf": [
{
"$ref": "#/definitions/envelope"
},
{
"properties": {
"data": {
"description": "Base type for SDK elements",
"properties": {
"description": {
"description": "A human readable description of the SDK element.",
"maxLength": 1024,
"type": "string"
},
"name": {
"description": "The name of the element",
"type": "string"
},
"type": {
"$ref": "#/definitions/kind"
}
},
"required": [
"type",
"name"
],
"type": "object"
}
},
"type": "object"
}
],
"type": "object"
}
},
"id": "http://fuchsia.com/schemas/sdk/common.json"
}