blob: f0c1bfa9fb5381804833f2f1bf6e833447c3815b [file] [log] [blame]
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"program"
],
"additionalProperties": false,
"properties": {
"program": {
"$id": "/properties/program",
"type": "object",
"additionalProperties": false,
"properties": {
"binary": {
"$id": "/properties/program/properties/binary",
"type": "string",
"title": "Program entry point for an Elf binary",
"examples": [
"bin/app"
]
},
"args": {
"$id": "/properties/program/properties/args",
"type": "array",
"title": "Arguments to provide to an Elf binary",
"items": {
"type": "string"
},
"minItems": 1,
"examples": [
"--verbose"
]
},
"data": {
"$id": "/properties/program/properties/data",
"type": "string",
"title": "Relative path for dart/flutter assets within /pkg/data",
"examples": [
"data/component"
]
}
},
"dependencies": {
"args": [ "binary" ]
},
"oneOf": [
{
"required": [ "binary" ]
},
{
"required": [ "data" ]
}
]
},
"sandbox": {
"$id": "/properties/sandbox",
"type": "object",
"additionalProperties": false,
"properties": {
"dev": {
"id": "/properties/sandbox/properties/dev",
"title": "Device directories to provide to the component",
"type": "array",
"uniqueItems": true
},
"features": {
"$id": "/properties/sandbox/properties/features",
"type": "array",
"uniqueItems": true,
"items": {
"$id": "/properties/sandbox/properties/features/items",
"type": "string",
"title": "Specific environment features",
"enum": [
"build-info",
"persistent-storage",
"shell",
"shell-commands",
"root-ssl-certificates",
"system-temp",
"vulkan",
"deprecated-all-services"
]
}
},
"system": {
"$id": "/properties/sandbox/properties/system",
"type": "array",
"uniqueItems": true,
"items": {
"$id": "/properties/sandbox/properties/system/items",
"type": "string",
"title": "Paths within the system package provided to the component",
"examples": [
"data/build"
]
}
},
"pkgfs": {
"$id": "/properties/sandbox/properties/pkgfs",
"type": "array",
"uniqueItems": true,
"items": {
"$id": "/properties/sandbox/properties/pkgfs/items",
"type": "string",
"title": "Paths within pkgfs provided to the component",
"examples": [
"packages"
]
}
},
"boot": {
"$id": "/properties/sandbox/properties/boot",
"type": "array",
"uniqueItems": true,
"items": {
"$id": "/properties/sandbox/properties/boot/items",
"type": "string",
"title": "Paths within the boot package provided to the component",
"examples": [
"log"
]
}
},
"services": {
"$id": "/properties/sandbox/properties/services",
"type": "array",
"uniqueItems": true,
"items": {
"$id": "/properties/sandbox/properties/services/items",
"type": "string",
"title": "Services to provide",
"examples": [
"fuchsia.sys.Launcher",
"fuchsia.sys.Environment"
]
}
}
}
},
"dev": {
"$id": "/properties/dev",
"type": "array",
"uniqueItems": true,
"items": {
"$id": "/properties/dev/items",
"type": "string",
"title": "Device directories to provide",
"examples": [
"class/wlanphy",
"class/wlanif",
"class/thermal"
]
}
},
"runner": {
"$id": "/properties/runner",
"type": "string",
"title": "Runner required to launch the component",
"examples": [
"flutter_jit_runner",
"flutter_aot_runner"
]
},
"facets": {
"$id": "/properties/facets",
"type": "object",
"title": "Extra information about this component"
}
}
}