From 5501e804ff8d41ce656061b91896c4ac8c681d78 Mon Sep 17 00:00:00 2001 From: Nick Brassel Date: Tue, 28 Nov 2023 07:53:43 +1100 Subject: QMK Userspace (#22222) Co-authored-by: Duncan Sutherland --- data/schemas/definitions.jsonschema | 18 ++++++++++++++++++ data/schemas/user_repo_v0.jsonschema | 14 ++++++++++++++ data/schemas/user_repo_v1.jsonschema | 22 ++++++++++++++++++++++ 3 files changed, 54 insertions(+) create mode 100644 data/schemas/user_repo_v0.jsonschema create mode 100644 data/schemas/user_repo_v1.jsonschema (limited to 'data/schemas') diff --git a/data/schemas/definitions.jsonschema b/data/schemas/definitions.jsonschema index 441e6395cf..ea29343d0a 100644 --- a/data/schemas/definitions.jsonschema +++ b/data/schemas/definitions.jsonschema @@ -177,5 +177,23 @@ "type": "integer", "minimum": 0, "maximum": 1 + }, + "keyboard_keymap_tuple": { + "type": "array", + "prefixItems": [ + { "$ref": "#/keyboard" }, + { "$ref": "#/filename" } + ], + "unevaluatedItems": false + }, + "json_file_path": { + "type": "string", + "pattern": "^[0-9a-z_/\\-]+\\.json$" + }, + "build_target": { + "oneOf": [ + { "$ref": "#/keyboard_keymap_tuple" }, + { "$ref": "#/json_file_path" } + ] } } diff --git a/data/schemas/user_repo_v0.jsonschema b/data/schemas/user_repo_v0.jsonschema new file mode 100644 index 0000000000..b18ac50428 --- /dev/null +++ b/data/schemas/user_repo_v0.jsonschema @@ -0,0 +1,14 @@ +{ + "$schema": "https://json-schema.org/draft/2020-12/schema#", + "$id": "qmk.user_repo.v0", + "title": "User Repository Information", + "type": "object", + "required": [ + "userspace_version" + ], + "properties": { + "userspace_version": { + "type": "string", + }, + } +} diff --git a/data/schemas/user_repo_v1.jsonschema b/data/schemas/user_repo_v1.jsonschema new file mode 100644 index 0000000000..6cdf758685 --- /dev/null +++ b/data/schemas/user_repo_v1.jsonschema @@ -0,0 +1,22 @@ +{ + "$schema": "https://json-schema.org/draft/2020-12/schema#", + "$id": "qmk.user_repo.v1", + "title": "User Repository Information", + "type": "object", + "required": [ + "userspace_version", + "build_targets" + ], + "properties": { + "userspace_version": { + "type": "string", + "enum": ["1.0"] + }, + "build_targets": { + "type": "array", + "items": { + "$ref": "qmk.definitions.v1#/build_target" + } + } + } +} -- cgit v1.2.3