diff options
author | Paul Sherwood <paul.sherwood@codethink.co.uk> | 2015-05-31 09:44:11 +0000 |
---|---|---|
committer | Paul Sherwood <paul.sherwood@codethink.co.uk> | 2015-05-31 09:44:11 +0000 |
commit | a4bb64159178e9f8594a0907968c2c93fe4d8845 (patch) | |
tree | cd0ef9cc2c7b6c272f29cb964c226454c418c5e8 /schema/definitions-schema.json | |
parent | 6b14ff59f2acf6d6403f014f50e4ad475a36b381 (diff) | |
download | definitions-a4bb64159178e9f8594a0907968c2c93fe4d8845.tar.gz |
Add an initial schema, relaxed so master is validbaserock/ps/add-relaxed-schema
Change-Id: I2144687b0aca448b73b2a14e2e43e732d1a84b86
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 |