diff options
author | Paul Sherwood <paul.sherwood@codethink.co.uk> | 2016-02-21 04:36:15 +0000 |
---|---|---|
committer | Paul Sherwood <paul.sherwood@codethink.co.uk> | 2016-02-21 04:36:15 +0000 |
commit | 41cd98396485c939bed54f04854c32260888bb1d (patch) | |
tree | 94a5dc154a799758cbbbb82643fe134766f8c356 /schemas/defaults.json-schema | |
parent | 70a8aebbd25ab6af7a10ae1f4777b9d71f04ea28 (diff) | |
download | spec-41cd98396485c939bed54f04854c32260888bb1d.tar.gz |
Move content to schemas directory
Diffstat (limited to 'schemas/defaults.json-schema')
-rw-r--r-- | schemas/defaults.json-schema | 66 |
1 files changed, 66 insertions, 0 deletions
diff --git a/schemas/defaults.json-schema b/schemas/defaults.json-schema new file mode 100644 index 0000000..2f71342 --- /dev/null +++ b/schemas/defaults.json-schema @@ -0,0 +1,66 @@ +$schema: http://json-schema.org/draft-04/schema# +id: http://git.baserock.org/cgi-bin/cgit.cgi/baserock/baserock/definitions.git/tree/schemas/defaults.json-schema + +description: | + This is a JSON-Schema description of the DEFAULTS file specified in the + Baserock definitions format. DEFAULTS is a YAML file that contains global + defaults for a set of Baserock definitions. + + This JSON-Schema file is valid for VERSION 7 of the Baserock definitions + YAML serialisation format. + + The Baserock definitions YAML serialisation format is the recommended way of + representing Baserock definitions on disk. The actual data model is described + separately. See <https://wiki.baserock.org/definitions> for more information. + + This schema is represented as YAML, so that it can be edited more easily. + You may need to convert to JSON if using a JSON-Schema tool that expects + its input to be an actual string containing data serialised as JSON. + +definitions: + command-sequence: + type: array + items: {type: string} + + build-system: + type: object + additionalProperties: false + properties: + build-commands: {$ref: '#/definitions/command-sequence'} + configure-commands: {$ref: '#/definitions/command-sequence'} + install-commands: {$ref: '#/definitions/command-sequence'} + strip-commands: {$ref: '#/definitions/command-sequence'} + + split-rules: + type: array + items: + type: object + + required: [artifact, include] + additionalProperties: false + + properties: + artifact: {type: string} + include: + type: array + items: + type: string + format: regex + +type: object +additionalProperties: false + +properties: + # Predefined build systems. + build-systems: + type: object + patternProperties: + ^.*$: {$ref: '#/definitions/build-system'} + + # Predefined artifact splitting rules. + split-rules: + type: object + additionalProperties: false + properties: + chunk: {$ref: '#/definitions/split-rules'} + stratum: {$ref: '#/definitions/split-rules'} |