blob: 9a77d089971db1f2184f5062ab5d6436b19a51ea [file] [log] [blame]
{
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "http://fuchsia.com/schemas/sdk/dart_library.json",
"description": "A Dart library",
"type": "object",
"allOf": [
{
"$ref": "common.json#/definitions/sdk_element"
},
{
"properties": {
"type": {
"allOf": [
{
"$ref": "common.json#/definitions/type"
},
{
"enum": [
"dart_library"
]
}
]
},
"name": {
"description": "Name of the library",
"$ref": "#/definitions/package_name"
},
"root": {
"description": "The root of the element in the SDK",
"$ref": "common.json#/definitions/file"
},
"sources": {
"description": "List of library sources",
"type": "array",
"minItems": 1,
"items": {
"$ref": "common.json#/definitions/file"
}
},
"deps": {
"description": "List of Dart libraries this library depends on",
"type": "array",
"items": {
"$ref": "#/definitions/package_name"
}
},
"third_party_deps": {
"description": "List of third-party dependencies",
"type": "array",
"items": {
"$ref": "#/definitions/third_party_library"
}
},
"fidl_deps": {
"description": "List of FIDL libraries this library depends on",
"type": "array",
"items": {
"$ref": "common.json#/definitions/fidl_library_name"
}
}
},
"required": [
"deps",
"fidl_deps",
"root",
"sources",
"third_party_deps",
"name",
"type"
],
"additionalProperties": false
}
],
"definitions": {
"package_name": {
"description": "A Dart package name",
"type": "string"
},
"third_party_library": {
"description": "A third-party Dart package",
"type": "object",
"properties": {
"name": {
"description": "Name of the package",
"$ref": "#/definitions/package_name"
},
"version": {
"description": "Version number of the package",
"type": "string"
}
},
"required": [
"name",
"version"
]
}
}
}