Commit graph

3368 commits

Author SHA1 Message Date
Marc Durdin
cb3d526310
Merge pull request #9619 from keymanapp/chore/developer/9551-remove-keyboard_info-sources
chore(developer): remove .keyboard_info sources 🎺
2023-10-03 15:38:37 +02:00
Marc Durdin
05e2b196dc
Merge branch 'epic/package-metadata' into feat/windows/create-installer-without-buildpkg 2023-10-03 15:38:17 +02:00
Marc Durdin
f864f57d8b
Merge pull request #9607 from keymanapp/feat/developer/kmc-package-windows-installer
feat(developer): Windows package installer compiler 🎺
2023-10-03 15:35:43 +02:00
Marc Durdin
70dfbce5aa
Merge pull request #9571 from keymanapp/feat/developer/remove-kmcmpdll
feat(developer): remove kmcomp, kmcmpdll 🎺
2023-10-03 15:35:19 +02:00
Marc Durdin
d2856a357c
Merge pull request #9539 from keymanapp/feat/developer/use-kmc-in-tike
feat(developer): use kmc to compile project files 🎺
2023-10-03 15:35:11 +02:00
Marc Durdin
311c7675ee
chore: Update developer/src/tike/project/Keyman.Developer.System.Project.kmnProjectFileAction.pas 2023-10-04 00:34:57 +11:00
Marc Durdin
1b9c6fba51 feat(developer): warn if .kps includes a .js which is not touch-capable
Fixes #9324.

As .js keyboards in packages are only used by the iOS and Android apps,
it's kinda helpful if the keyboard itself includes a touch layout. While
Keyman will fall back to a desktop vk layout if a touch layout is not
present, this is less than ideal -- but that's why this is setup as a
hint and not a warning.
2023-10-03 15:28:22 +07:00
Marc Durdin
c66e8c1e8f chore(developer): switch on code coverage reporting for kmc
Fixes #8661.
2023-10-03 13:56:21 +07:00
Marc Durdin
886c64d1c3 chore(developer): add test for checkFilenameConventions == false or unset
Fixes #9317.
2023-10-03 13:29:34 +07:00
Steven R. Loomis
8200f84418 feat(developer): scancode and forms 🙀
- fix casing of k_oC1
- allow vkey 226 to be doubly defined
- drop LdmlVkeyNames table and test, not needed anymore (was for vkey #7135)

Fixes: #9403
2023-10-02 12:30:36 -05:00
Marc Durdin
a2fa1f918e feat(developer): issue hint if package includes keyboard source files
Fixes #9325.

Also tweaks test for error_package_must_contain_a_model_or_a_keyboard as
the fixture had a .kmn, triggering the new hint, which was unhelpful in
this case.
2023-10-02 15:55:00 +07:00
Marc Durdin
7adc9b5d95 feat(developer): support store(&version) '17.0'
Fixes #9541.

Also adds version 16.0 support to the kmcmplib compiler constants, and
unit tests for both versions. Does not add any support for automatic
version feature detection, because that forces an inverted dependency on
the touch layout compilation phase (done in kmc-kmw), which would be a
significant refactor. This may be something we need to support in the
future.
2023-10-02 15:30:07 +07:00
Marc Durdin
d4fb7cd234 chore(developer): reduce duplicate words warning to hint
Fixes #9597.
2023-10-02 12:48:10 +07:00
Marc Durdin
c168ef01cb feat(developer): show an INFO message when warnings have failed a build
Fixes #9610.

If a build fails when "treat warnings as errors" is on, but there are
only warnings and no error messages, it can be confusing for the
developer. Adds the following `INFO_WarningsHaveFailedBuild` message:

`The build failed because option "treat warnings as errors" is enabled
and there are one or more warnings.`
2023-10-02 12:36:54 +07:00
Marc Durdin
fafedbbd72
chore: Apply suggestions from code review 2023-10-02 14:24:07 +11:00
Steven R. Loomis
17eba2d237 feat(developer): scancode and forms 🙀
- spec: 'hardware' is no longer an enum but a str.
Ripple effects here.
- custom scancodes and layouts are, interestingly, supported. But it's a warning.
- tests for bad scancodes.

Fixes: #9403
2023-09-30 22:06:39 -05:00
Steven R. Loomis
ffe00c06b5 feat(common): scancode - move vkey map generation into KeysCompiler 🙀
- also fix visual keyboard compiler to use same code

For: #9403
2023-09-30 18:54:37 -05:00
Marc Durdin
d99388fc68
Merge branch 'epic/package-metadata' into chore/merge-master-into-package-metadata 2023-09-29 09:31:53 +02:00
Steven R. Loomis
623d679274
Merge branch 'master' into feat/developer/9403-scancodes-epic-ldml 2023-09-28 13:41:53 -05:00
Steven R. Loomis
bdef1c48d3 fix(common): update keyman for removal of vkeys 🙀
dropped in upstream CLDR-17093

See #7135
2023-09-28 13:03:44 -05:00
Marc Durdin
d7f056c2a0
Merge pull request #9549 from keymanapp/fix/developer/9546-template-only-includes-mobile-layout
fix(developer): only include mobile touch platform in basic project
2023-09-28 11:17:07 +02:00
Marc Durdin
4a7820fdeb chore(developer): remove obsolete menu item 2023-09-28 16:05:43 +07:00
Marc Durdin
893c492580 chore(developer): remove obsolete files 2023-09-28 16:04:05 +07:00
Marc Durdin
84d77ff306
Merge pull request #9537 from keymanapp/feat/developer/add-logFormat-to-kmc
feat(developer): add --log-format to kmc 🎺
2023-09-28 10:54:19 +02:00
Marc Durdin
65d95d39fc
Merge pull request #9535 from keymanapp/feat/developer/eliminate-source-info-files
feat(developer): eliminate source .model_info and .keyboard_info files 🎺
2023-09-28 10:54:08 +02:00
Marc Durdin
640f04c5d3
Merge pull request #9480 from keymanapp/feat/developer/use-last-commit-date-for-keyboard_info
feat(developer): use git's last commit date for keyboard_info 🎺
2023-09-28 10:53:59 +02:00
Marc Durdin
cc82a3cc63
Merge pull request #9536 from keymanapp/chore/npm-pack-bundling
chore: workaround npm/cli#3466 when bundling internal deps
2023-09-26 06:36:52 +02:00
Steven R. Loomis
87c18fdb42 feat(developer): scancode hint to warning 🙀
For: #9403

- fix a bad comment
- Warn_UnsupportedCustomForm (formerly hint)
2023-09-25 16:13:17 -05:00
Marc Durdin
94be7bb60c chore(developer): validate emitted .keyboard_info and fix keys
Fixes #9620.

.keyboard_info keys emitted from kmc-keyboard-info had the wrong format
for the example.keys object, which I discovered when I applied the
validation to the kmc-keyboard-info output.
2023-09-25 15:53:20 +07:00
Marc Durdin
a093507a4c chore(developer): remove .keyboard_info sources
Fixes #9551.

Removes various .keyboard_info files from test fixtures and also removes
generation of .keyboard_info source files from kmconvert, alongside now-
redundant tests (cvt.dpr).
2023-09-25 12:19:26 +07:00
Marc Durdin
fd9b131307 chore(developer): remove Package Installer UI from TIKE 2023-09-25 10:27:59 +07:00
Marc Durdin
5a6758d12e chore(developer): move package version unit tests into Typescript 2023-09-25 08:44:11 +07:00
Marc Durdin
7dc8743cd3 chore(windows): remove buildpkg 2023-09-25 06:00:39 +07:00
Steven R. Loomis
f56e4ffa85 feat(common): ldml scancodes 🙀
For: #9403

- unit test the set and row count for codes
- fix errors!
2023-09-22 17:56:35 -05:00
Steven R. Loomis
44f061f293 feat(common): ldml scancodes 🙀
For: #9403

- improve how forms are read in the XML structure
- warnings when custom (non-default-import) scancodes are loaded
- error, as usual, when an unknown form is present
2023-09-22 17:33:20 -05:00
Marc Durdin
e1087ed781 chore(developer): fix commander global options 2023-09-22 11:20:48 +07:00
Marc Durdin
c95b0dd421 chore(developer): normalize case on input filenames in kmc
Fixes #9611.
2023-09-22 09:54:22 +07:00
Marc Durdin
a9fb7a189f chore(developer): add missing parameter to ldml-test-data 2023-09-22 09:27:37 +07:00
Marc Durdin
db6a836e31 chore(developer): remove extra parameter 2023-09-21 17:44:08 +07:00
Marc Durdin
a1a7b39481 feat(developer): Windows package installer compiler
Replaces kmcomp's package installer build infrastructure. While this is
mostly legacy, package installers are still used in adhoc distribution
scenarios, so we need to continue to support with the new kmc.

The package installer is a Windows self-extracting zip archive. The user
is expected to find setup-redist.exe and keymandesktop.msi themselves,
from the Keyman Developer release files. They are not included with
Keyman Developer, but are available as standalone downloads from
https://downloads.keyman.com/windows/.

`kmc build` has been updated to include two subcommands:
* `kmc build ldml-test-data`
* `kmc build windows-package-installer`

Both of these subcommands are a little long, but the use cases for them
are fairly narrow, so I believe this is okay. `kmc build-test-data` has
been removed, as `kmc build ldml-test-data` replaces it.
2023-09-21 17:35:16 +07:00
Steven R. Loomis
60295cef70 chore(core): ldml update keyboard -> keyboard3 🙀
For: #9604

- DOCTYPE fixes (typos) to make the red squiggles go away
2023-09-20 18:56:29 -05:00
Steven R. Loomis
8be00cb482 chore(resources): code changes for keyboard to keyboard3 🙀 2023-09-18 19:00:32 -05:00
Marc Durdin
454448bc63 chore: use kmc instead of kmcomp to build test keyboards 2023-09-16 15:24:46 +07:00
Steven R. Loomis
27508571c9 fix(developer): ldml drop \u1234 🙀
- fix 1..6 char Unicode escapes with an unrolled loop

- for feat(core): ldml drop \u1234 format 🙀  #9515
2023-09-15 15:27:47 -04:00
Steven R. Loomis
213dd7d2ad fix(developer): ldml drop \u1234 🙀
- for now, convert \u{1234} to \u1234 before going into
UnicodeSet.

- for feat(core): ldml drop \u1234 format 🙀  #9515
2023-09-15 14:42:37 -04:00
Steven R. Loomis
28012d1f7d chore(developer): ldml fix for update 🙀
- hardware types isn't a fixed set anymore
- un-mothball the pertinent error type

Related to #9403, exposed during #9515 CLDR update
2023-09-15 14:42:03 -04:00
Marc Durdin
0cd3bd6dea
Merge pull request #9563 from keymanapp/chore/merge-master-into-package-metadata
chore: merge master into package-metadata 🎺
2023-09-15 17:06:16 +02:00
Marc Durdin
ccfefa279f chore: make const for date format 2023-09-12 09:26:03 +01:00
Marc Durdin
b8cf546d38
chore: Update developer/src/kmc/src/util/baseOptions.ts 2023-09-12 17:18:02 +10:00
Marc Durdin
a0bdb617a0
chore(developer): Apply suggestions from code review
Co-authored-by: Darcy Wong <darcy_wong@sil.org>
2023-09-12 17:15:35 +10:00