blob: 3e81679fc334f423c245826b96aef94cfc5c0527 [file] [log] [blame]
{
"description": "Schema for a build-generated SDK manifest",
"type": "object",
"properties": {
"atoms": {
"description": "The set of all atoms in the current manifest, forming a complete dependency graph",
"type": "array",
"items": {
"$ref": "#/definitions/atom"
}
},
"ids": {
"description": "IDs of the main atoms in this manifest (as opposed to dependencies)",
"type": "array",
"items": {
"$ref": "#/definitions/atomId"
}
},
"root": {
"description": "Path to the root of the SDK, relative to this manifest",
"type": "string"
}
},
"required": [
"atoms",
"ids",
"root"
],
"additionalProperties": false,
"definitions": {
"atomId": {
"description": "Unique identifier for an atom",
"type": "string",
"pattern": "^sdk://([a-z][a-z0-9-_\\.]+)(/([a-z][a-z0-9-_\\.]+))*$"
},
"atom": {
"description": "An SDK artifact",
"type": "object",
"properties": {
"id": {
"description": "The atom's unique identifier",
"$ref": "#/definitions/atomId"
},
"gn-label": {
"description": "Label of the GN target which generated the atom",
"type": "string"
},
"meta": {
"description": "Path to the atom's metadata file in the SDK",
"type": "string"
},
"category": {
"description": "Publication level of this atom",
"type": "string",
"enum": [
"excluded",
"experimental",
"internal",
"cts",
"partner",
"partner_internal",
"public"
]
},
"area": {
"description": "API council area that owns this atom",
"type": [
"string",
"null"
]
},
"plasa": {
"description": "The plasa API fragment files",
"type": "array",
"items": {
"type": "string"
}
},
"files": {
"description": "Paths to files making up the atom, relative to the SDK root",
"type": "array",
"items": {
"$ref": "#/definitions/atomFile"
}
},
"deps": {
"description": "The ids of the atoms this atom directly depends on",
"type": "array",
"items": {
"$ref": "#/definitions/atomId"
}
},
"type": {
"description": "The type of this atom's content",
"type": "string",
"enum": [
"bind_library",
"cc_prebuilt_library",
"cc_source_library",
"companion_host_tool",
"dart_library",
"data",
"documentation",
"experimental_python_e2e_test",
"ffx_tool",
"fidl_library",
"host_tool",
"loadable_module",
"package",
"sysroot",
"version_history"
]
}
},
"required": [
"category",
"deps",
"files",
"gn-label",
"id",
"meta",
"plasa",
"type"
],
"additionalProperties": false
},
"atomFile": {
"description": "Description of a file pertaining to an atom",
"type": "object",
"properties": {
"source": {
"description": "Path to the source file",
"type": "string"
},
"destination": {
"description": "Destination path of the file relative to the SDK root",
"type": "string"
}
},
"required": [
"source",
"destination"
],
"additionalProperties": false
}
}
}