| { |
| "$id": "https://fuchsia.dev/schema/src/sys/lib/cm_json/cmx_schema.json", |
| "$schema": "http://json-schema.org/draft-07/schema#", |
| "additionalProperties": false, |
| "properties": { |
| "dev": { |
| "items": { |
| "examples": [ |
| "class/wlanphy", |
| "class/wlanif", |
| "class/thermal" |
| ], |
| "title": "Device directories to provide", |
| "type": "string" |
| }, |
| "type": "array", |
| "uniqueItems": true |
| }, |
| "facets": { |
| "title": "Extra information about this component", |
| "type": "object" |
| }, |
| "include": { |
| "items": { |
| "examples": [ |
| "syslog/client.shard.cmx" |
| ], |
| "type": "string" |
| }, |
| "type": "array" |
| }, |
| "program": { |
| "additionalProperties": { |
| "type": "string" |
| }, |
| "oneOf": [ |
| { |
| "required": [ |
| "binary" |
| ] |
| }, |
| { |
| "required": [ |
| "data" |
| ] |
| } |
| ], |
| "properties": { |
| "args": { |
| "examples": [ |
| "--verbose" |
| ], |
| "items": { |
| "type": "string" |
| }, |
| "minItems": 1, |
| "title": "Arguments to provide to an Elf binary", |
| "type": "array" |
| }, |
| "binary": { |
| "examples": [ |
| "bin/app" |
| ], |
| "title": "Program entry point for an Elf binary", |
| "type": "string" |
| }, |
| "data": { |
| "examples": [ |
| "data/component" |
| ], |
| "title": "Relative path for dart/flutter assets within /pkg/data", |
| "type": "string" |
| }, |
| "env_vars": { |
| "examples": [ |
| "RUST_BACKTRACE=1" |
| ], |
| "items": { |
| "type": "string" |
| }, |
| "minItems": 1, |
| "title": "Environment variables to provide to an Elf binary", |
| "type": "array" |
| } |
| }, |
| "type": "object" |
| }, |
| "runner": { |
| "examples": [ |
| "flutter_jit_runner", |
| "flutter_aot_runner" |
| ], |
| "title": "Runner required to launch the component", |
| "type": "string" |
| }, |
| "sandbox": { |
| "additionalProperties": false, |
| "properties": { |
| "boot": { |
| "items": { |
| "examples": [ |
| "log" |
| ], |
| "title": "Paths within the boot package provided to the component", |
| "type": "string" |
| }, |
| "type": "array", |
| "uniqueItems": true |
| }, |
| "dev": { |
| "title": "Device directories to provide to the component", |
| "type": "array", |
| "uniqueItems": true |
| }, |
| "features": { |
| "items": { |
| "enum": [ |
| "build-info", |
| "config-data", |
| "deprecated-global-data", |
| "deprecated-global-hub", |
| "deprecated-global-tmp", |
| "deprecated-misc-storage", |
| "deprecated-shell", |
| "durable-data", |
| "factory-data", |
| "hub", |
| "isolated-cache-storage", |
| "isolated-persistent-storage", |
| "shell-commands", |
| "root-ssl-certificates", |
| "isolated-temp", |
| "vulkan", |
| "deprecated-ambient-replace-as-executable" |
| ], |
| "title": "Specific environment features", |
| "type": "string" |
| }, |
| "type": "array", |
| "uniqueItems": true |
| }, |
| "pkgfs": { |
| "items": { |
| "examples": [ |
| "packages" |
| ], |
| "title": "Paths within pkgfs provided to the component", |
| "type": "string" |
| }, |
| "type": "array", |
| "uniqueItems": true |
| }, |
| "services": { |
| "items": { |
| "examples": [ |
| "fuchsia.sys.Launcher", |
| "fuchsia.sys.Environment" |
| ], |
| "title": "Services to provide", |
| "type": "string" |
| }, |
| "type": "array", |
| "uniqueItems": true |
| }, |
| "system": { |
| "items": { |
| "allOf": [ |
| { |
| "not": { |
| "pattern": "^/*data/" |
| } |
| }, |
| { |
| "not": { |
| "pattern": "^/*data$" |
| } |
| }, |
| { |
| "not": { |
| "pattern": "^/*deprecated-data/" |
| } |
| }, |
| { |
| "not": { |
| "pattern": "^/*deprecated-data$" |
| } |
| } |
| ], |
| "examples": [ |
| "data/build" |
| ], |
| "title": "Paths within the system package provided to the component", |
| "type": "string" |
| }, |
| "type": "array", |
| "uniqueItems": true |
| } |
| }, |
| "type": "object" |
| } |
| }, |
| "required": [ |
| "program" |
| ], |
| "type": "object" |
| } |