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