Commit graph

3002 commits

Author SHA1 Message Date
Marc Durdin
006bcc0942
Merge pull request #12984 from keymanapp/feat/developer/12983-copy-disorganized-projects
feat(developer): support copying disorganized projects in kmc-copy
2025-01-23 14:43:28 +07:00
Marc Durdin
85404a3291
Merge pull request #12982 from keymanapp/chore/developer/12981-check-for-filename-collisions-kmc-copy
chore(developer): report on filename collisions in kmc-copy
2025-01-23 14:43:18 +07:00
Marc Durdin
7f5f5b9b30
Merge pull request #12979 from keymanapp/chore/developer/12978-validate-output-folder-id-in-kmc-copy
chore(developer): validate output folder name in kmc-copy
2025-01-23 14:43:09 +07:00
Marc Durdin
ae148984b8
Merge pull request #12976 from keymanapp/feat/developer/12975-verbose-and-debug-log-levels
feat(developer): add 'verbose' and 'debug' log levels to kmc
2025-01-23 14:42:59 +07:00
Marc Durdin
7808396895
Merge pull request #12973 from keymanapp/chore/developer/12972-remove-rename-from-kmc-copy
chore(developer): remove '--rename' option from kmc-copy
2025-01-23 14:42:49 +07:00
Marc Durdin
11030358d5
Merge pull request #12971 from keymanapp/chore/developer/disable-icon-in-kmc-generate
chore(developer): stub out icon support in kmc-generate
2025-01-23 14:42:40 +07:00
Marc Durdin
b51f1213d9 feat(developer): support copying disorganized projects in kmc-copy
Fixes: #12983
2025-01-22 13:20:13 +07:00
Marc Durdin
ba8e5dc152 chore(developer): report on filename collisions in kmc-copy
Fixes: #12981
2025-01-22 12:32:33 +07:00
Marc Durdin
d4513a1d51 chore(developer): add new severity types to message command 2025-01-22 11:14:33 +07:00
Marc Durdin
62a2608013 chore(developer): add new severity types to message command 2025-01-22 11:10:54 +07:00
Marc Durdin
c6aa912655 chore(developer): validate output folder name in kmc-copy
Fixes: #12978
2025-01-22 10:58:01 +07:00
Marc Durdin
f9cb1927c9 chore(developer): cleanup tests with new verbose messages 2025-01-22 10:01:49 +07:00
Marc Durdin
b4e8912490
Merge pull request #12966 from keymanapp/chore/developer/12965-kmc-generate-test-basic-transform
chore(developer): add test for basic transform to kmc-generate
2025-01-22 09:03:05 +07:00
Marc Durdin
a08f1aca6e feat(developer): add 'verbose' and 'debug' log levels to kmc
Adds 'verbose' and 'debug' log levels and corresponding error severity
levels. This means the internal error severity values have changed to
match - 'info' is now 2 instead of 0.

Fixes: #12975
2025-01-22 08:58:13 +07:00
Marc Durdin
439ea0e4d1 chore(developer): remove '--rename' option from kmc-copy
An in-place rename is dangerous and destructive, so we won't support it.
2025-01-22 08:12:54 +07:00
Marc Durdin
06d09ae42a
Merge pull request #12962 from keymanapp/fix/developer/12961-kmc-generate-ldml-version-default
fix(developer): use 1.0.0 as default for ldml keyboards in kmc-generate
2025-01-22 07:48:03 +07:00
Marc Durdin
e90a5373b3
Merge pull request #12960 from keymanapp/chore/developer/12959-lexical-model-parameter-text
fix(developer): use correct terms in kmc-generate lexical model help
2025-01-22 07:47:40 +07:00
Marc Durdin
17a6d3c091
Merge pull request #12958 from keymanapp/chore/developer/12957-validate-ids-in-kmc-generate
chore(developer): validate keyboard and model IDs in kmc-generate
2025-01-22 07:47:24 +07:00
Marc Durdin
6372fe8f5e
Merge branch 'chore/developer/12965-kmc-generate-test-basic-transform' into chore/developer/disable-icon-in-kmc-generate 2025-01-22 07:45:56 +07:00
Marc Durdin
89813e11ad chore(developer): use path separator for non-Windows platforms in kmc-generate tests 2025-01-22 07:45:41 +07:00
Marc Durdin
edc8d00caf chore(developer): stub out icon support in kmc-generate
As icon generation turns out to be challenging due to limitations or
native dependencies in node.js libraries for image generation, icon
options are now stubbed out to avoid confusion.
2025-01-22 07:14:07 +07:00
Marc Durdin
e86ddc89a2 chore(developer): add test for basic transform to kmc-generate
Fixes: #12965
2025-01-21 15:58:19 +07:00
Marc Durdin
6f6316e79b fix(developer): use 1.0.0 as default for ldml keyboards in kmc-generate
Fixes: #12961
2025-01-21 13:58:37 +07:00
Marc Durdin
2dec427bd4 fix(developer): use correct terms in kmc-generate lexical model help
Fixes: #12959
2025-01-21 13:55:48 +07:00
Marc Durdin
c718a757f8
Merge pull request #12929 from keymanapp/fix/developer/12123-support-displaymap-font-in-web-debugger
fix(developer): support `&displayMap` font in web debugger
2025-01-21 13:52:55 +07:00
Marc Durdin
3ad0dec493 chore(developer): validate keyboard and model IDs in kmc-generate
Fixes: #12957
2025-01-21 12:41:52 +07:00
Marc Durdin
bda60eb39f chore(developer): validate targets parameter in kmc-generate
Fixes: #12954
2025-01-21 10:55:18 +07:00
Marc Durdin
60a88584e4
Merge branch 'master' into fix/developer/12123-support-displaymap-font-in-web-debugger 2025-01-20 15:14:45 +07:00
Marc Durdin
c191e57d9c
Merge pull request #12951 from keymanapp/fix/developer/12950-handle-dev-utils-deps-in-server-build
fix(developer): include developer-utils deps in server build
2025-01-20 15:14:11 +07:00
Marc Durdin
357d196181 chore(developer): use JQ variable in script 2025-01-20 14:11:42 +07:00
Marc Durdin
f407d9823d fix(developer): include developer-utils deps in server build
Fixes: #12950
2025-01-20 13:06:01 +07:00
Marc Durdin
11d92be941 chore: address review comments 2025-01-20 10:25:56 +07:00
Marc Durdin
d24f3477bd chore(developer): update binary_kvk_file test to make .kps more valid
The test .kps for binary_kvk_file tests was not very coherent, which
meant that it failed with the changes and additional consistency
checking included in this PR.
2025-01-20 10:06:25 +07:00
Marc Durdin
0b749a5df2 feat(developer): rewrite font data in .kvk from package metadata
When compiling a package, rewrite the font data in embedded .kvk files
to use the facename from the font referenced in OSKFont or DisplayFont.

This also does some safety checking for cross-references of the .kvk,
and the font data.

Fixes: #12912
2025-01-20 09:21:50 +07:00
Marc Durdin
45a6291a3e refactor(developer): move ttfInfo to developer-utils
We will need ttfInfo in kmc-package, so move it to the shared module.
2025-01-20 09:19:47 +07:00
Marc Durdin
7cb6be6a97 fix(developer): support &displayMap font in web debugger
Adds a new design-time font property for when `&displayMap` is in use in
a keyboard, so that the web debugger can use that font as appropriate.

If the keyboard does not have a `&displayMap` store, then the DisplayMap
font property is disabled, and the web debugger will use the OSK Font
instead, as previously was the case.

Note that the font for `&displayMap` has to be installed on the keyboard
author's system in order for it to be served up.

Fixes: #12123
2025-01-17 11:03:20 +07:00
Marc Durdin
0d2264c80c
Merge pull request #12909 from keymanapp/fix/developer/12852-filter-incorrect-fonts-from-keyboard-info
fix(developer): filter incorrect fonts out of .keyboard_info
2025-01-16 09:29:13 +01:00
Marc Durdin
67a1622c42 fix(developer): filter incorrect fonts out of .keyboard_info
The font collection code was somewhat wrong in kmc-keyboard-info. It
collected all fonts referenced in the package, even for multi-keyboard
packages, which meant that the .keyboard_info file listed all fonts for
all languages. Furthermore, if a font was referenced in multiple
language entries in the .kps, then it would be repeated for each
language in the .keyboard_info. This patch addresses both of these bugs.

The good news is that this makes some of the .keyboard_info files
smaller. In particular, fv_all.keyboard_info goes from 4675 lines down
to 695 lines!

Fixes: #12852
2025-01-16 11:04:22 +07:00
Marc Durdin
74f4392d75 fix(developer): detect invalid key ids in touch layout files
Fixes: #12870
2025-01-15 09:59:50 +07:00
Marc Durdin
31e3e9e02a chore(developer): redirect stderr in command-line-tests 2025-01-13 16:27:49 +07:00
Marc Durdin
dad1df3194 fix(developer): ensure license parameter is required and add tests
Some additional items arose from this:

* Adds a command-line-tests unit test which does some basic sanity tests
  on `kmc`.
* Cleans up some of the error reporting infrastructure in `kmc` to
  ensure that thrown errors are handled better.
* Removes redundant subshell from `builder_run_action`.

Fixes: #12846
2025-01-13 15:10:31 +07:00
Eberhard Beilharz
e069c3ad2a
chore(core): remove meson warnings for wasm builds
Replace deprecated function calls. Also add `strip` command to wasm
build defaults.
2024-12-12 19:48:13 +01:00
Marc Durdin
a77b20ffe9
Merge pull request #12807 from keymanapp/fix/developer/12795-displaymap-for-hints
fix(developer): support hint property in displaymap
2024-12-09 07:35:00 +01:00
Marc Durdin
4202f46550 fix(developer): support hint property in displaymap
Fixes: #12795
2024-12-09 12:20:53 +07:00
Marc Durdin
2576acc456 chore(developer): verify bundled node version when building installer
The node version must be an exact match at this time. Also updated
node.exe accordingly.

Fixes: #12075
2024-12-09 11:44:21 +07:00
Marc Durdin
f1a073b7d6
Merge pull request #12804 from keymanapp/test/developer/12597-add-tests-for-ERROR_DescriptionIsMissing
test(developer): add test for ERROR_DescriptionIsMissing to kmc-keyboard-info
2024-12-09 03:21:48 +01:00
Marc Durdin
889482ca53 test(developer): update fixture 2024-12-09 06:27:45 +07:00
Marc Durdin
2c97590904 test(developer): add test for ERROR_DescriptionIsMissing to kmc-keyboard-info
Originally reported in #12202. Check was added in #12204, backported to
17.0.329 in #12207, but #12597 reports this for 17.0.331. So added test
to verify that it is working as expected (it is).

Note that this only applies when using the `--for-publishing` build flag
in kmc, because it is checked in the kmc-keyboard-info stage. Guessing
this is where the confusion arose.

Consolidated tests which used a common pattern for kmc-keyboard-info
calls. The remaining tests do stubs or calls into internal functions, so
they cannot be easily deduped.

Fixes: #12597
2024-12-09 06:22:11 +07:00
Marc Durdin
09d14dae14 fix(developer): remove platforms from kmc-generate LM readme
Lexical models are not specific to a platform, so the readme should not
list supported platforms.

Fixes: #12592
2024-12-09 06:01:35 +07:00
Marc Durdin
ee46a6693d chore(developer): Merge branch 'master' into feat/developer/12012-improve-support-for-bcp47 2024-12-06 14:16:00 +07:00