| { |
| "$schema": "http://json-schema.org/draft-07/schema#", |
| "description": "Schema for Fuchsia target metadata", |
| "type": "object", |
| "properties": { |
| "$schema": { |
| "type": "string" |
| }, |
| "version": { |
| "type": "integer" |
| }, |
| "targets": { |
| "type": "object", |
| "description": "Map of target names to target metadata.", |
| "additionalProperties": { |
| "type": "object", |
| "properties": { |
| "deps": { |
| "type": "array", |
| "description": "List of dependency target names. These names will appear as keys in the 'targets' map.", |
| "items": { |
| "type": "string" |
| } |
| }, |
| "sources": { |
| "type": "array", |
| "description": "List of source file paths. These paths are relative to the root of the Fuchsia source tree.", |
| "items": { |
| "type": "string" |
| } |
| }, |
| "inputs": { |
| "type": "array", |
| "description": "List of input file paths. These paths are relative to the root of the Fuchsia source tree.", |
| "items": { |
| "type": "string" |
| } |
| }, |
| "source_dir": { |
| "type": "string", |
| "description": "The directory containing the GN or Bazel definition for the target." |
| } |
| }, |
| "required": [ |
| "deps", |
| "sources", |
| "inputs", |
| "source_dir" |
| ], |
| "additionalProperties": false |
| } |
| } |
| }, |
| "required": [ |
| "version", |
| "targets" |
| ], |
| "additionalProperties": false |
| } |