| { |
| "description": "Schema for a build package file", |
| "type": "object", |
| "properties": { |
| "imports": { |
| "description": "A list of paths to other build package files to include", |
| "type": "array", |
| "items": { |
| "type": "string" |
| } |
| }, |
| "labels": { |
| "description": "A list of free-form GN labels to build; useful for e.g. host tools", |
| "type": "array", |
| "items": { |
| "$ref": "#/definitions/gnLabel" |
| } |
| }, |
| "packages": { |
| "description": "A list of GN labels representing Fuchsia packages", |
| "type": "array", |
| "items": { |
| "$ref": "#/definitions/gnLabel" |
| } |
| }, |
| "host_tests": { |
| "description": "A list of GN labels to build, each representing a host test", |
| "type": "array", |
| "items": { |
| "$ref": "#/definitions/gnLabel" |
| } |
| } |
| }, |
| "minProperties": 1, |
| "additionalProperties": false, |
| "definitions": { |
| "gnLabel": { |
| "description": "An absolute GN label", |
| "type": "string", |
| "pattern": "^/(/[^/]+)+(:[^/]+)?(\\(/(/[^/]+)+(:[^/]+)?\\))?$" |
| } |
| } |
| } |