{ "$schema": "http://json-schema.org/schema#", "type": "object", "required": [ "input", "distribution", "output" ], "additionalProperties": false, "properties": { "input": { "type": "object", "oneOf": [ { "required": [ "dscpath" ], "additionalProperties": false, "properties": { "dscpath": { "type": "string", "description": "path to the .dsc file that is to be built, can be relative to the location of this json file" } } }, { "required": [ "dscuri" ], "additionalProperties": false, "properties": { "dscuri": { "type": "string", "format": "uri", "description": "uri for downloading the .dsc file" }, "checksums": { "type": "object", "patternProperties": { ".*": { "type": "string" } }, "default": {}, "description": "a mapping of checksum algorithms to the expected values" } } }, { "required": [ "sourcename" ], "additionalProperties": false, "properties": { "sourcename": { "type": "string", "pattern": "^[a-z0-9][a-z0-9.+-]*$", "description": "name of a source package to fetch from the configured distribution" }, "version": { "type": "string", "pattern": "^([0-9]+:)?[a-zA-Z0-9.+~-]+$", "description": "request a particular version of the source package" } } } ] }, "distribution": { "type": "string", "pattern": "^[a-z0-9-]+$", "description": "selects the base chroot used for building" }, "extrarepositories": { "type": "array", "items": { "type": "string", "pattern": "^(deb|deb-src) " }, "default": [], "description": "extra repository specifications to be added to sources.list" }, "type": { "type": "string", "enum": [ "any", "all", "binary" ], "default": "binary", "description": "select an arch-only, indep-only or full build" }, "buildarch": { "type": "string", "minLength": 2, "pattern": "^[a-z0-9-]+$", "description": "build architecture, defaults to the native architecure" }, "hostarch": { "type": "string", "minLength": 2, "pattern": "^[a-z0-9-]+$", "description": "host architecture, defaults to the build architecture" }, "profiles": { "type": "array", "items": { "type": "string", "pattern": "^[a-z0-9.-]+$" }, "uniqueItems": true, "default": [], "description": "select build profiles to enabled" }, "options": { "type": "array", "items": { "type": "string", "pattern": "^[a-z0-9.,+=_-]+$" }, "uniqueItems": true, "default": [], "description": "values of DEB_BUILD_OPTIONS" }, "parallel": { "oneOf": [ { "type": "integer", "minimum": 1 }, { "const": "auto" } ], "description": "add parallel=value to DEB_BUILD_OPTIONS. The special value auto is replaced with the CPU count." }, "environment": { "type": "object", "propertyNames": { "pattern": "^[^=-][^=]*$" }, "patternProperties": { ".*": { "type": "string" } }, "default": [], "description": "extra environment variables" }, "buildpath": { "type": "string", "description": "the path inside the chroot to peform the build" }, "lintian": { "type": "object", "additionalProperties": false, "properties": { "run": { "type": "boolean", "default": false, "description": "whether to run lintian after the build" }, "options": { "type": "array", "items": { "type": "string" }, "default": [], "description": "extra options to pass to lintian" } } }, "bd-uninstallable-explainer": { "enum": [ "apt", "dose3" ], "description": "When installing Build-Depends fails, an explainer can be used to give details. Without this property, no explainer is run." }, "network": { "enum": [ "enable", "disable", "try-disable", "try-enable" ], "description": "Decide whether the build should be able to access the internet. Without this property, the backend picks its own default. A try-prefixed value does not cause a failure when the request cannot be fulfilled." }, "output": { "type": "object", "required": [ "directory" ], "additionalProperties": false, "properties": { "directory": { "type": "string", "description": "target directory to place output artifacts, can be specified relative to the location of this json file" }, "log": { "type": "boolean", "default": true, "description": "whether to output the build log on the stdout file descriptor" }, "artifacts": { "type": "array", "items": { "type": "string" }, "uniqueItems": true, "default": [ "*" ], "description": "Any build artifact that matches any of these glob style patterns is included in the output. Patterns allow *, ?, [ranges] and [!ranges]." } } } } }