Skip to content

Commit d99388f

Browse files
authored
Merge branch 'epic/package-metadata' into chore/merge-master-into-package-metadata
2 parents 4d2dd47 + 84d77ff commit d99388f

File tree

119 files changed

+3931
-1052
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

119 files changed

+3931
-1052
lines changed

common/schemas/keyboard_info/README.md

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,19 @@
11
# keyboard_info
22

3-
* **keyboard_info.source.json**
4-
* **keyboard_info.distribution.json**
3+
* **keyboard_info.schema.json**
54

65
Documentation at https://help.keyman.com/developer/cloud/keyboard_info
76

87
* Primary version:
9-
* https://github.com/keymanapp/api.keyman.com/tree/master/schemas/keyboard_info.source
10-
* https://github.com/keymanapp/api.keyman.com/tree/master/schemas/keyboard_info.distribution
8+
* https://github.com/keymanapp/api.keyman.com/tree/master/schemas/keyboard_info
119
* Synchronized copies at:
1210
* https://github.com/keymanapp/keyman/tree/master/common/schemas/keyboard_info
1311

1412
# .keyboard_info version history
1513

14+
## 2023-08-11 2.0 stable
15+
* Removed legacyId, documentationFilename, documentationFileSize. Source vs distribution keyboard_info distinction is removed.
16+
1617
## 2019-09-06 1.0.6 stable
1718
* No changes (see api.keyman.com#36 and api.keyman.com#59. Reverted in 2020-06-10.).
1819

common/schemas/keyboard_info/keyboard_info.distribution.json

Lines changed: 0 additions & 8 deletions
This file was deleted.
Lines changed: 121 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,121 @@
1+
{
2+
"$schema": "http://json-schema.org/schema#",
3+
"$ref": "#/definitions/KeyboardInfo",
4+
5+
"definitions": {
6+
"KeyboardInfo": {
7+
"type": "object",
8+
"properties": {
9+
"id": { "type": "string" },
10+
"name": { "type": "string" },
11+
"authorName": { "type": "string" },
12+
"authorEmail": { "type": "string", "format": "email" },
13+
"description": { "type": "string" },
14+
"license": { "type": "string", "enum": ["freeware", "shareware", "commercial", "mit", "other"] },
15+
"languages": { "anyOf": [
16+
{ "type": "array", "items": { "type": "string" }, "uniqueItems": true },
17+
{ "$ref": "#/definitions/KeyboardLanguageInfo" }
18+
]},
19+
"lastModifiedDate": { "type": "string", "format": "date-time" },
20+
"packageFilename": { "type": "string", "pattern": "\\.km[xp]$" },
21+
"packageFileSize": { "type": "number" },
22+
"jsFilename": { "type": "string", "pattern": "\\.js$" },
23+
"jsFileSize": { "type": "number" },
24+
"isRTL": { "type": "boolean" },
25+
"encodings": { "type": "array", "items": { "type": "string", "enum": ["ansi", "unicode"] }, "additionalItems": false },
26+
"packageIncludes": { "type": "array", "items": { "type": "string", "enum": ["welcome", "documentation", "fonts", "visualKeyboard"] }, "additionalItems": false },
27+
"version": { "type": "string" },
28+
"minKeymanVersion": { "type": "string", "pattern": "^\\d+\\.\\d$" },
29+
"helpLink": { "type": "string", "pattern": "^https://help\\.keyman\\.com/keyboard/" },
30+
"platformSupport": { "$ref": "#/definitions/KeyboardPlatformInfo" },
31+
"sourcePath": { "type": "string", "pattern": "^(release|legacy|experimental)/.+/.+$" },
32+
"related": { "type": "object", "patternProperties": {
33+
".": { "$ref": "#/definitions/KeyboardRelatedInfo" }
34+
},
35+
"additionalProperties": false
36+
},
37+
"deprecated": { "type": "boolean" }
38+
},
39+
"required": [ "id", "name", "license", "languages", "lastModifiedDate", "platformSupport" ]
40+
},
41+
42+
"KeyboardLanguageInfo": {
43+
"type": "object",
44+
"patternProperties": {
45+
".": { "$ref": "#/definitions/KeyboardLanguageInfoItem" }
46+
},
47+
"additionalProperties": false
48+
},
49+
50+
"KeyboardLanguageInfoItem": {
51+
"type": "object",
52+
"properties": {
53+
"font": { "$ref": "#/definitions/KeyboardFontInfo" },
54+
"oskFont": { "$ref": "#/definitions/KeyboardFontInfo" },
55+
"examples": { "type": "array", "items": { "$ref": "#/definitions/KeyboardExampleInfo" } },
56+
"displayName": { "type": "string" },
57+
"languageName": { "type": "string" },
58+
"scriptName": { "type": "string" },
59+
"regionName": { "type": "string" }
60+
},
61+
"required": [],
62+
"additionalProperties": false
63+
},
64+
65+
"KeyboardFontInfo": {
66+
"type": "object",
67+
"properties": {
68+
"family": { "type": "string" },
69+
"source": { "type": "array", "items": { "type": "string" } }
70+
},
71+
"required": ["family", "source"],
72+
"additionalProperties": false
73+
},
74+
75+
"KeyboardExampleInfo": {
76+
"type": "object",
77+
"properties": {
78+
"keys": {
79+
"type": "array",
80+
"items": { "$ref": "#/definitions/KeyboardExampleKeyInfo" }
81+
},
82+
"text": { "type": "string" },
83+
"note": { "type": "string" }
84+
},
85+
"required": ["keys", "text"],
86+
"additionalProperties": false
87+
},
88+
89+
"KeyboardExampleKeyInfo": {
90+
"type": "object",
91+
"properties": {
92+
"key": { "type": "string" },
93+
"modifiers": {
94+
"type": "array",
95+
"items": { "type": "string" }
96+
}
97+
},
98+
"required": ["key"],
99+
"additionalProperties": false
100+
},
101+
102+
"KeyboardPlatformInfo": {
103+
"type": "object",
104+
"patternProperties": {
105+
"^(windows|macos|desktopWeb|ios|android|mobileWeb|linux)$": { "type": "string", "enum": ["dictionary", "full", "basic", "none"] }
106+
},
107+
"required": [],
108+
"additionalProperties": false
109+
},
110+
111+
"KeyboardRelatedInfo": {
112+
"type": "object",
113+
"properties": {
114+
"deprecates": { "type": "boolean" },
115+
"deprecatedBy": { "type": "boolean" }
116+
},
117+
"required": [],
118+
"additionalProperties": false
119+
}
120+
}
121+
}

common/schemas/keyboard_info/keyboard_info.source.json

Lines changed: 0 additions & 173 deletions
This file was deleted.

common/schemas/kpj/README.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,9 @@ always '1.0'. It will be required for version 2.0 and later of the format.
66
**Note:** An additional schema file, kpj-9.0.schema.json, for supporting legacy
77
versions of .kpj, from Keyman Developer 9.0 and earlier, is now available.
88

9+
## 2023-08-07 2.0.1
10+
* Add Options/SkipMetadataFiles, defaults to True for 1.0 projects.
11+
912
## 2023-02-27 2.0
1013
* Version 2.0 makes 'Files' optional (internally, Files/File will be ignored,
1114
deleted on load and populated from folder structure). Adds Options/SourcePath,

common/schemas/kpj/kpj.schema.json

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,10 @@
4545
"type": "string",
4646
"pattern": "^(True|False)$"
4747
},
48+
"SkipMetadataFiles": {
49+
"type": "string",
50+
"pattern": "^(True|False)$"
51+
},
4852
"ProjectType": {
4953
"type": "string",
5054
"pattern": "^(keyboard|lexicalmodel)$"

0 commit comments

Comments
 (0)