diff options
Diffstat (limited to 'schema/definitions-schema.json')
-rw-r--r-- | schema/definitions-schema.json | 68 |
1 files changed, 68 insertions, 0 deletions
diff --git a/schema/definitions-schema.json b/schema/definitions-schema.json new file mode 100644 index 00000000..6afab78a --- /dev/null +++ b/schema/definitions-schema.json @@ -0,0 +1,68 @@ +{ + "$schema": "http://json-schema.org/draft-04/schema#", + "id": "http://wiki.baserock.org/schemas/definitions#", + + "definitions": { + "definition": { + "type": "object", + "properties": { + "name": { "type": "string" }, + "morph": { "type": "string" }, + "repo": { "type": "string" }, + "ref": { "type": "string" }, + "unpetrify-ref": { "anyOf": [ + { "type": "string" }, + { "type": "number" } + ] }, + "description": { "oneOf": [ + { "type": "string" }, + { "type": "array", "items": { "type": "string" } } + ] }, + "kind": { + "type": "string", + "enum": ["chunk", "stratum", "system", "cluster"] + }, + "build-depends": { + "type": "array", + "items": { "anyOf": [ + { "$ref": "#/definitions/definition" }, + "morph": "string" + ] } + }, + "chunks": { + "type": "array", + "items": { "$ref": "#/definitions/definition" } + }, + "strata": { + "type": "array", + "items": { "anyOf": [ + { "$ref": "#/definitions/definition" }, + "morph": "string" + ] } + }, + "build-system": { + "type": "string", + "enum": [ + "python-distutils", + "autotools", + "cmake", + "manual", + "cpan" + ] + }, + "product": { + "artifact": { "type": "string" }, + "include": { "type": "array", "items": "string" } + }, + "dependencies": { + "repo": ["ref", "unpetrify-ref"], + "ref": ["repo", "unpetrify-ref"], + "unpetrify-ref": ["repo", "ref"] + } + } + } + }, + + "type": "object", + "$ref": "#/definitions/definition" +}
\ No newline at end of file |