Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

epic(developer): refactor package-metadata for 17.0 🎺 #9485

Merged
merged 121 commits into from
Oct 11, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
121 commits
Select commit Hold shift + click to select a range
aa9788a
chore(common): remove deprecated fields from keyboard_info
mcdurdin Aug 11, 2023
25717d1
chore: fix unit test
mcdurdin Aug 11, 2023
675f6bc
feat(developer): description, font and example metadata in packages
mcdurdin Aug 14, 2023
4d71048
chore(developer): fix casing
mcdurdin Aug 14, 2023
bf1d5b0
chore(developer): fix casing
mcdurdin Aug 14, 2023
d838df1
feat(developer): add editor of Package Description and Examples
mcdurdin Aug 14, 2023
38c3415
feat(developer): add relatedPackages metadata
mcdurdin Aug 14, 2023
8a9243e
chore(developer): tweak Relationship values
mcdurdin Aug 14, 2023
fea10f0
feat(developer): add web font references to package
mcdurdin Aug 15, 2023
194fd1a
chore: update unit test - will be removed later
mcdurdin Aug 15, 2023
826a1e2
Merge branch 'feat/developer/keyboard-info-dedup' into feat/developer…
mcdurdin Aug 15, 2023
0305cd0
Merge branch 'feat/developer/extra-package-metadata' into feat/develo…
mcdurdin Aug 15, 2023
1cce7ed
chore(developer): remove fonts sidetrack
mcdurdin Aug 15, 2023
158bc28
feat(developer): add LicenseFile as property of package
mcdurdin Aug 16, 2023
395b76d
chore(developer): cleanup keyboard_info schema
mcdurdin Aug 16, 2023
a7f8123
feat(developer): support building .keyboard_info without source version
mcdurdin Aug 7, 2023
47e05a7
feat(developer): build .keyboard_info without source .keyboard_info
mcdurdin Aug 16, 2023
72efe0c
feat(developer): markdown conversion for description in package editor
mcdurdin Aug 17, 2023
0e382ba
chore(developer): fixup call to KeyboardInfoCompiler
mcdurdin Aug 17, 2023
0d6894a
chore(developer): fixup call to KeyboardInfoCompiler
mcdurdin Aug 17, 2023
fcf2b51
Merge branch 'feat/developer/compile-without-source-keyboard-info' in…
mcdurdin Aug 17, 2023
b87667a
chore(developer): cleanup kmc-keyboard-info interface
mcdurdin Aug 17, 2023
e751a25
chore(common): fixup test for SkipMetadataFiles
mcdurdin Aug 17, 2023
3af9f6d
chore(developer): fixup license vs graphic file error
mcdurdin Aug 17, 2023
6624b8b
feat(developer): use git's last commit date for keyboard_info
mcdurdin Aug 17, 2023
e9e7d5b
chore(developer): optional lastCommitDate
mcdurdin Aug 17, 2023
c42ab69
chore(developer): seed epic branch
mcdurdin Aug 18, 2023
1531e88
feat(developer): eliminate source .model_info and .keyboard_info files
mcdurdin Aug 29, 2023
232c918
feat(developer): support isRTL and license fields in .model_info
mcdurdin Aug 29, 2023
56d64da
chore(developer): npm install and fix import
mcdurdin Aug 30, 2023
ee41085
Merge pull request #9452 from keymanapp/feat/developer/keyboard-info-…
mcdurdin Sep 1, 2023
a0f7d25
Merge pull request #9459 from keymanapp/feat/developer/extra-package-…
mcdurdin Sep 1, 2023
920a435
Merge pull request #9463 from keymanapp/feat/developer/package-keyboa…
mcdurdin Sep 1, 2023
722f72b
Merge pull request #9470 from keymanapp/feat/developer/package-license
mcdurdin Sep 1, 2023
0913770
Merge pull request #9471 from keymanapp/chore/developer/keyboard-info…
mcdurdin Sep 1, 2023
6e8cc16
Merge pull request #9474 from keymanapp/feat/developer/compile-withou…
mcdurdin Sep 1, 2023
651af2f
Merge pull request #9476 from keymanapp/feat/developer/keyboard-info-…
mcdurdin Sep 1, 2023
ff38c6d
Merge pull request #9479 from keymanapp/chore/developer/cleanup-kmc-k…
mcdurdin Sep 1, 2023
7f76de4
chore(developer): add developer-utils as workspace
mcdurdin Sep 1, 2023
6590658
chore(developer): add developer-utils package to publish
mcdurdin Sep 1, 2023
508588e
chore(developer): developer-utils as private package
mcdurdin Sep 1, 2023
0d96437
chore: workaround npm/cli#3466 when bundling internal deps
mcdurdin Sep 1, 2023
d2f4e5f
feat(developer): add --log-format to kmc
mcdurdin Sep 1, 2023
fb165a3
feat(developer): use kmc instead of kmlmc in TIKE
mcdurdin Sep 1, 2023
c91b271
feat(developer): use kmc to compile packages in TIKE
mcdurdin Sep 1, 2023
41f370e
chore(developer): remove duplicate outFile parameter
mcdurdin Sep 1, 2023
44d57e8
feat(developer): compile kmn files with kmc in tike
mcdurdin Sep 1, 2023
ea4af39
chore(developer): kmcomp to build with kmcwrapper
mcdurdin Sep 2, 2023
a14abd7
chore(developer): add kmcwrapper to unit tests
mcdurdin Sep 2, 2023
ec134f6
chore(developer): update tests for new compiler
mcdurdin Sep 2, 2023
4c07b6c
feat(developer): remove kmcmpdll
mcdurdin Sep 2, 2023
3a2540b
feat(developer): remove kmcomp
mcdurdin Sep 9, 2023
a0bdb61
chore(developer): Apply suggestions from code review
mcdurdin Sep 12, 2023
b8cf546
chore: Update developer/src/kmc/src/util/baseOptions.ts
mcdurdin Sep 12, 2023
ccfefa2
chore: make const for date format
mcdurdin Sep 12, 2023
0cd3bd6
Merge pull request #9563 from keymanapp/chore/merge-master-into-packa…
mcdurdin Sep 15, 2023
454448b
chore: use kmc instead of kmcomp to build test keyboards
mcdurdin Sep 16, 2023
f140b5e
chore: convert keyboards build.sh to builder script
mcdurdin Sep 16, 2023
7f3d7ce
chore: fixup targets for build_index
mcdurdin Sep 16, 2023
a1a7b39
feat(developer): Windows package installer compiler
mcdurdin Sep 21, 2023
db6a836
chore(developer): remove extra parameter
mcdurdin Sep 21, 2023
6adf58d
chore(core): update kmc call
mcdurdin Sep 22, 2023
a9fb7a1
chore(developer): add missing parameter to ldml-test-data
mcdurdin Sep 22, 2023
c95b0dd
chore(developer): normalize case on input filenames in kmc
mcdurdin Sep 22, 2023
e1087ed
chore(developer): fix commander global options
mcdurdin Sep 22, 2023
9571be6
feat(windows): create Keyman for Windows installer without buildpkg
mcdurdin Sep 24, 2023
10b2fa4
feat(windows): create FV installer without buildpkg
mcdurdin Sep 24, 2023
7dc8743
chore(windows): remove buildpkg
mcdurdin Sep 24, 2023
5a6758d
chore(developer): move package version unit tests into Typescript
mcdurdin Sep 25, 2023
fd9b131
chore(developer): remove Package Installer UI from TIKE
mcdurdin Sep 25, 2023
a093507
chore(developer): remove .keyboard_info sources
mcdurdin Sep 25, 2023
94be7bb
chore(developer): validate emitted .keyboard_info and fix keys
mcdurdin Sep 25, 2023
640f04c
Merge pull request #9480 from keymanapp/feat/developer/use-last-commi…
mcdurdin Sep 28, 2023
65d95d3
Merge pull request #9535 from keymanapp/feat/developer/eliminate-sour…
mcdurdin Sep 28, 2023
84d77ff
Merge pull request #9537 from keymanapp/feat/developer/add-logFormat-…
mcdurdin Sep 28, 2023
893c492
chore(developer): remove obsolete files
mcdurdin Sep 28, 2023
4a7820f
chore(developer): remove obsolete menu item
mcdurdin Sep 28, 2023
a86bcb9
chore(common): fixup legacy test keyboards
mcdurdin Sep 28, 2023
d99388f
Merge branch 'epic/package-metadata' into chore/merge-master-into-pac…
mcdurdin Sep 29, 2023
8db7a21
chore: Apply suggestions from code review
mcdurdin Oct 2, 2023
452b910
chore: Apply suggestions from code review
mcdurdin Oct 2, 2023
fafedbb
chore: Apply suggestions from code review
mcdurdin Oct 2, 2023
311c767
chore: Update developer/src/tike/project/Keyman.Developer.System.Proj…
mcdurdin Oct 3, 2023
d2856a3
Merge pull request #9539 from keymanapp/feat/developer/use-kmc-in-tike
mcdurdin Oct 3, 2023
70dfbce
Merge pull request #9571 from keymanapp/feat/developer/remove-kmcmpdll
mcdurdin Oct 3, 2023
f864f57
Merge pull request #9607 from keymanapp/feat/developer/kmc-package-wi…
mcdurdin Oct 3, 2023
05e2b19
Merge branch 'epic/package-metadata' into feat/windows/create-install…
mcdurdin Oct 3, 2023
3d786f8
Merge pull request #9616 from keymanapp/feat/windows/create-installer…
mcdurdin Oct 3, 2023
cb3d526
Merge pull request #9619 from keymanapp/chore/developer/9551-remove-k…
mcdurdin Oct 3, 2023
1fa540c
Merge pull request #9612 from keymanapp/chore/developer/9611-normaliz…
mcdurdin Oct 4, 2023
99663ce
Merge pull request #9621 from keymanapp/chore/developer/9620-validate…
mcdurdin Oct 4, 2023
e0c2778
Merge pull request #9644 from keymanapp/chore/merge-master-into-packa…
mcdurdin Oct 4, 2023
693aee5
Merge branch 'epic/package-metadata' into chore/merge-master-into-pac…
mcdurdin Oct 4, 2023
225877f
feat(common): precompile json schemas to improve performance
mcdurdin Oct 5, 2023
a9ea0fb
Merge pull request #9682 from keymanapp/chore/merge-master-into-packa…
mcdurdin Oct 6, 2023
68740f2
Merge branch 'epic/package-metadata' into feat/common/9640-precompile…
mcdurdin Oct 6, 2023
b8b0e56
chore: Add comment to common/web/types/src/schema-validators.ts
mcdurdin Oct 6, 2023
b07d0f6
Merge pull request #9691 from keymanapp/feat/common/9640-precompile-s…
mcdurdin Oct 6, 2023
6c944cf
chore: Merge branch 'epic/package-metadata' into chore/merge-master-i…
mcdurdin Oct 6, 2023
bcb2233
chore: ignore types for imported schemas for now
mcdurdin Oct 6, 2023
928bd2a
chore(common): fixup tsconfig for common/web/utils
mcdurdin Oct 6, 2023
00484a0
chore: fixup js imports for schema validators
mcdurdin Oct 6, 2023
4004449
feat(developer): introduce WelcomeFile property to packages
mcdurdin Oct 8, 2023
cc5b8da
refactor(developer): .keyboard_info examples should use keys as a string
mcdurdin Oct 8, 2023
36a3a27
fix(developer): non-minimal BCP 47 tags in kps should be a hint
mcdurdin Oct 8, 2023
f76efc3
chore(common): stop using xml2js.processors.firstCharLowerCase
mcdurdin Oct 8, 2023
0f5e881
chore(developer): Update kmc-package xml2js dependency
mcdurdin Oct 8, 2023
52291b1
chore(developer): remove unused xml2js references
mcdurdin Oct 8, 2023
35814bc
chore(developer): add --for-publishing to kmc
mcdurdin Oct 9, 2023
7544b33
fix(developer): reduce WARN_PackageShouldNotRepeatLanguages to HINT
mcdurdin Oct 9, 2023
93b952b
chore(developer): fix path in tsconfig.json in kmc-model-info
mcdurdin Oct 10, 2023
efe08dc
chore: Update developer/src/kmc-package/src/compiler/kmp-compiler.ts
mcdurdin Oct 11, 2023
2e1e3db
Merge pull request #9699 from keymanapp/chore/merge-master-into-packa…
mcdurdin Oct 11, 2023
9b1506c
Merge pull request #9701 from keymanapp/chore/common/types-for-schemas
mcdurdin Oct 11, 2023
7585a11
Merge pull request #9709 from keymanapp/feat/developer/9478-welcome-f…
mcdurdin Oct 11, 2023
d217b46
Merge pull request #9711 from keymanapp/refactor/developer/9708-keybo…
mcdurdin Oct 11, 2023
a6e737a
Merge pull request #9712 from keymanapp/fix/developer/9266-non-minima…
mcdurdin Oct 11, 2023
98af605
Merge pull request #9714 from keymanapp/chore/common/9713-avoid-xml2j…
mcdurdin Oct 11, 2023
a4652ce
Merge pull request #9716 from keymanapp/chore/update-kmp-compiler-xml…
mcdurdin Oct 11, 2023
41ed45c
Merge pull request #9717 from keymanapp/chore/developer/add-for-publi…
mcdurdin Oct 11, 2023
f61e65c
Merge pull request #9736 from keymanapp/chore/merge-master-into-packa…
mcdurdin Oct 11, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
3 changes: 1 addition & 2 deletions .github/labeler.yml
Original file line number Diff line number Diff line change
Expand Up @@ -35,9 +35,8 @@ developer/:
- developer/**

developer/compilers/:
- developer/src/kmcomp/**
- developer/src/kmcmpdll/**
- developer/src/kmc/**
- developer/src/kmcmplib/**
- developer/src/kmc-*/**

developer/ide/:
Expand Down
12 changes: 0 additions & 12 deletions .github/multi-labeler.yml
Original file line number Diff line number Diff line change
Expand Up @@ -87,15 +87,3 @@ labels:
- label: 'windows/'
matcher:
title: '\(.*windows.*\):'

#
# epics -- we will add/remove these as we work on new epics each release
#

- label: 'epic-ldml'
matcher:
branch: '.*epic-ldml.*' # anywhere in the branch name, e.g. feat/epic-ldml/developer/... or feat/developer/foo-epic-ldml

- label: 'epic-kmcompx'
matcher:
branch: '.*epic-kmcompx.*'
13 changes: 0 additions & 13 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -73,7 +73,6 @@

# /developer/TIKE/
/windows/src/developer/TIKE/stock.kct
/windows/src/developer/TIKE/kmcmpdll.dll

# /developer/TIKE/redist/
/windows/src/developer/TIKE/redist/Addins
Expand All @@ -85,12 +84,6 @@
/windows/src/developer/inst/download.mak
/windows/src/developer/inst/copydev.mak

# /developer/kmcmpdll/
/windows/src/developer/kmcmpdll/*.lastbuildstate

# /developer/kmcmpdll/Debug/
/windows/src/developer/kmcmpdll/Debug/*.idb

/windows/src/developer/stock/stock.kct
/windows/src/developer/uitemplates/keyman.kct

Expand Down Expand Up @@ -192,9 +185,3 @@ lcov.info
/keyman*.changes
/keyman*.tar.?z

#Sabine:
# /common/test/keyboards/invalid/source/*.kmx
# /developer/src/test/auto/kmcomp/*.kmn
# /developer/src/test/auto/kmcomp/*.kvk
# /developer/src/test/auto/kmcomp/*.kvk*
# /developer/src/test/auto/kmcomp/*.txt
9 changes: 5 additions & 4 deletions common/schemas/keyboard_info/README.md
Original file line number Diff line number Diff line change
@@ -1,18 +1,19 @@
# keyboard_info

* **keyboard_info.source.json**
* **keyboard_info.distribution.json**
* **keyboard_info.schema.json**

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

* Primary version:
* https://github.com/keymanapp/api.keyman.com/tree/master/schemas/keyboard_info.source
* https://github.com/keymanapp/api.keyman.com/tree/master/schemas/keyboard_info.distribution
* https://github.com/keymanapp/api.keyman.com/tree/master/schemas/keyboard_info
* Synchronized copies at:
* https://github.com/keymanapp/keyman/tree/master/common/schemas/keyboard_info

# .keyboard_info version history

## 2023-08-11 2.0 stable
* Removed legacyId, documentationFilename, documentationFileSize. Source vs distribution keyboard_info distinction is removed. Example key sequences are simplified.

## 2019-09-06 1.0.6 stable
* No changes (see api.keyman.com#36 and api.keyman.com#59. Reverted in 2020-06-10.).

Expand Down

This file was deleted.

105 changes: 105 additions & 0 deletions common/schemas/keyboard_info/keyboard_info.schema.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,105 @@
{
"$schema": "http://json-schema.org/schema#",
"$ref": "#/definitions/KeyboardInfo",

"definitions": {
"KeyboardInfo": {
"type": "object",
"properties": {
"id": { "type": "string" },
"name": { "type": "string" },
"authorName": { "type": "string" },
"authorEmail": { "type": "string", "format": "email" },
"description": { "type": "string" },
"license": { "type": "string", "enum": ["freeware", "shareware", "commercial", "mit", "other"] },
"languages": { "anyOf": [
{ "type": "array", "items": { "type": "string" }, "uniqueItems": true },
{ "$ref": "#/definitions/KeyboardLanguageInfo" }
]},
"lastModifiedDate": { "type": "string", "format": "date-time" },
"packageFilename": { "type": "string", "pattern": "\\.km[xp]$" },
"packageFileSize": { "type": "number" },
"jsFilename": { "type": "string", "pattern": "\\.js$" },
"jsFileSize": { "type": "number" },
"isRTL": { "type": "boolean" },
"encodings": { "type": "array", "items": { "type": "string", "enum": ["ansi", "unicode"] } },
"packageIncludes": { "type": "array", "items": { "type": "string", "enum": ["welcome", "documentation", "fonts", "visualKeyboard"] } },
"version": { "type": "string" },
"minKeymanVersion": { "type": "string", "pattern": "^\\d+\\.\\d$" },
"helpLink": { "type": "string", "pattern": "^https://help\\.keyman\\.com/keyboard/" },
"platformSupport": { "$ref": "#/definitions/KeyboardPlatformInfo" },
"sourcePath": { "type": "string", "pattern": "^(release|legacy|experimental)/.+/.+$" },
"related": { "type": "object", "patternProperties": {
".": { "$ref": "#/definitions/KeyboardRelatedInfo" }
},
"additionalProperties": false
},
"deprecated": { "type": "boolean" }
},
"required": [ "id", "name", "license", "languages", "lastModifiedDate", "platformSupport" ]
},

"KeyboardLanguageInfo": {
"type": "object",
"patternProperties": {
".": { "$ref": "#/definitions/KeyboardLanguageInfoItem" }
},
"additionalProperties": false
},

"KeyboardLanguageInfoItem": {
"type": "object",
"properties": {
"font": { "$ref": "#/definitions/KeyboardFontInfo" },
"oskFont": { "$ref": "#/definitions/KeyboardFontInfo" },
"examples": { "type": "array", "items": { "$ref": "#/definitions/KeyboardExampleInfo" } },
"displayName": { "type": "string" },
"languageName": { "type": "string" },
"scriptName": { "type": "string" },
"regionName": { "type": "string" }
},
"required": [],
"additionalProperties": false
},

"KeyboardFontInfo": {
"type": "object",
"properties": {
"family": { "type": "string" },
"source": { "type": "array", "items": { "type": "string" } }
},
"required": ["family", "source"],
"additionalProperties": false
},

"KeyboardExampleInfo": {
"type": "object",
"properties": {
"keys": { "type": "string" },
"text": { "type": "string" },
"note": { "type": "string" }
},
"required": ["keys", "text"],
"additionalProperties": false
},

"KeyboardPlatformInfo": {
"type": "object",
"patternProperties": {
"^(windows|macos|desktopWeb|ios|android|mobileWeb|linux)$": { "type": "string", "enum": ["dictionary", "full", "basic", "none"] }
},
"required": [],
"additionalProperties": false
},

"KeyboardRelatedInfo": {
"type": "object",
"properties": {
"deprecates": { "type": "boolean" },
"deprecatedBy": { "type": "boolean" }
},
"required": [],
"additionalProperties": false
}
}
}
173 changes: 0 additions & 173 deletions common/schemas/keyboard_info/keyboard_info.source.json

This file was deleted.

3 changes: 3 additions & 0 deletions common/schemas/kpj/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,9 @@ always '1.0'. It will be required for version 2.0 and later of the format.
**Note:** An additional schema file, kpj-9.0.schema.json, for supporting legacy
versions of .kpj, from Keyman Developer 9.0 and earlier, is now available.

## 2023-08-07 2.0.1
* Add Options/SkipMetadataFiles, defaults to True for 1.0 projects.

## 2023-02-27 2.0
* Version 2.0 makes 'Files' optional (internally, Files/File will be ignored,
deleted on load and populated from folder structure). Adds Options/SourcePath,
Expand Down
4 changes: 4 additions & 0 deletions common/schemas/kpj/kpj.schema.json
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,10 @@
"type": "string",
"pattern": "^(True|False)$"
},
"SkipMetadataFiles": {
"type": "string",
"pattern": "^(True|False)$"
},
"ProjectType": {
"type": "string",
"pattern": "^(keyboard|lexicalmodel)$"
Expand Down
Loading