Commit graph

3368 commits

Author SHA1 Message Date
Steven R. Loomis
66281da0e0
Update developer/src/kmcmpdll/Compiler.cpp
Co-authored-by: Marc Durdin <marc@durdin.net>
2022-09-19 14:59:46 -05:00
Marc Durdin
93a1fc88b9 chore(developer): remove crc generation from kmc-keyboard 2022-09-19 15:30:38 +10:00
Marc Durdin
a59a6c334a chore: update node-windows-trayicon to update node-gyp to 9.1.0 2022-09-19 15:07:24 +10:00
Marc Durdin
3d61d18371 chore(developer): update multer dependency for server
Removes Keyman Developer Server's transitive dependency on dicer by
updating multer to `1.4.5-lts.1`, which updates its dependency on
busboy.

See
https://github.com/expressjs/multer/pull/1097#issuecomment-1141286771
for reasoning behind use of  `-lts.1` rather than a full release
version.

At some point in the future, multer will publish a full release with
this fix, at which point we can move back to a full release version.
2022-09-19 12:36:51 +10:00
Marc Durdin
ee47e49568 chore(developer): fixup build path for kmc 2022-09-19 08:42:27 +10:00
Marc Durdin
e840f04ccf chore(common): make scripts executable and add pre-commit test 2022-09-19 06:39:13 +10:00
Marc Durdin
5a9495c548 chore(developer): fixup tests for kmlmc, kmlmp 2022-09-19 06:37:30 +10:00
Marc Durdin
4e396224d0 chore(developer): fixup external refs to kmc 2022-09-19 06:36:56 +10:00
Marc Durdin
003f23d7b4 feat(developer): fixup and prepare build scripts and docs for kmc 2022-09-19 06:36:06 +10:00
Marc Durdin
2d55546e55 refactor(developer): command-line wrappers for kmc 2022-09-19 06:33:51 +10:00
Marc Durdin
9c623ed872 refactor(developer): split kmlmc into kmc-model, kmc-model-info, kmc-package 2022-09-19 06:30:50 +10:00
Marc Durdin
97f4951f50 refactor(developer): move kmc modules to kmc-keyboard 2022-09-19 06:26:32 +10:00
dependabot[bot]
93ec6106e1
chore(deps): bump nanoid and mocha
Bumps [nanoid](https://github.com/ai/nanoid) and [mocha](https://github.com/mochajs/mocha). These dependencies needed to be updated together.

Removes `nanoid`

Updates `mocha` from 8.4.0 to 10.0.0
- [Release notes](https://github.com/mochajs/mocha/releases)
- [Changelog](https://github.com/mochajs/mocha/blob/master/CHANGELOG.md)
- [Commits](https://github.com/mochajs/mocha/compare/v8.4.0...v10.0.0)

---
updated-dependencies:
- dependency-name: nanoid
  dependency-type: indirect
- dependency-name: mocha
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-09-16 21:06:23 +00:00
Steven R. Loomis
d56f6557fb chore(core): deprecate checksum in 16.0 🙀
- do not generate unless version<16.0
- never check checksum

Fixes: #7220
2022-09-16 14:24:01 -05:00
Steven R. Loomis
efd4c83490 chore(core): ignore checksum in 16.0 🙀
- mark as deprecated

Fixes: #7220
2022-09-16 14:24:01 -05:00
Sabine
4ede5db0a2 chore(developer): removed CWARN/CHINT out of CompMsg 2022-09-16 06:56:56 +02:00
Marc Durdin
3f818af46b
chore: Update developer/src/kmc/test/fixtures/sections/meta/invalid-version-1.0.xml 2022-09-16 09:25:57 +10:00
Sabine
b6612c1470 chore(developer): new GetCompilerErrorString() used in AddCompileMessage() 2022-09-14 18:57:32 +02:00
Marc Durdin
ba88412dfe chore(developer): improve kmc validation and corresponding tests
* Add a bunch of tests for keys
* Add tests for version. (improves meta test coverage to 100%)
* A bit more consistency cleanup also of error message functions.
* Adds a compiler failure (FATAL) if compile fails after validate
  passes.
* Overall test coverage now 93.5% lines. Biggest gap still kmx-builder.
  All compiler units are >90%.
2022-09-14 11:47:14 +10:00
Marc Durdin
110f6ffbbd feat(developer): add kmx metadata to kmxplus compiles
Fixes #7273.

Adds 4 kmx system stores to allow existing configuration tools to load
and process KMXPlus files without modification:

* `TSS_NAME` (first `<name>`)
* `TSS_COMPILEDVERSION` (only if `options.addCompilerVersion == true`)
* `TSS_KEYBOARDVERSION` (from `<version number>`)
* `TSS_TARGETS` (currently always 'desktop', will later include more
  targets)

In order for `TSS_COMPILEDVERSION` to be handled correctly, needed to
plumb in the new `CompilerOptions` interface. This could be a separate
PR, but the changes are not huge, so opted to append the changes here.

Updates related tests and fixtures. Refactored some of the e2e helpers
into helpers/index.ts for use with the metadata-compiler tests.
2022-09-14 09:26:22 +10:00
Sabine
136b5b4148 chore(developer): removed several Windows-specific functions 2022-09-13 18:09:49 +02:00
Marc Durdin
ea902d2f1c
Merge pull request #7225 from keymanapp/fix/developer/7028-touch-layout-desktop-view-has-broken-format
fix(developer): hide key-sizes when in desktop layout in touch layout editor
2022-09-13 11:31:15 +10:00
Marc Durdin
3fd9df5277 chore(core): Merge branch 'feature-ldml' into chore/core/7247-use-builder-for-build-sh 2022-09-13 07:25:10 +10:00
Marc Durdin
3e6d9356c3
Merge pull request #7255 from keymanapp/chore/7222-optional-checksum
chore: make checksum optional 🙀
2022-09-13 06:30:04 +10:00
Sabine
910ae7419a chore(developer): tidied up code 2022-09-12 16:31:43 +02:00
Marc Durdin
74a6c65710
Merge branch 'feature-ldml' into chore/merge-master-into-feature-ldml 2022-09-12 15:24:19 +10:00
Marc Durdin
bd48ba646b
Merge pull request #7219 from keymanapp/fix/developer/7216-suppress-repeated-warnings-unreachable-code
fix(developer): suppress repeated warnings about unreachable code
2022-09-12 11:18:54 +10:00
Marc Durdin
91d375ac81 chore(core): use builder_ for build.sh
Refactoring of build.sh to use the builder_ functions. The script should
now be a lot cleaner. Usage is available with `core/build.sh --help`

Targets are :x86, :x64, :wasm, :arch (linux/mac).

Supports additional requirements of Linux build (--target-path,
--configure).

By default will attempt to build all available targets.

Actions are: clean, configure, build, test, install, uninstall.

The install and uninstall actions only work for linux and mac targets at
present.
2022-09-12 09:56:32 +10:00
Marc Durdin
89ccc393ab chore: make checksum optional
Fixes #7222.
2022-09-09 17:23:07 +10:00
Marc Durdin
d9512027f9 refactor(developer): kmc - encapsulate strs and elem items for sort
Fixes #7235.

Encapsulates all strings in the in-memory compile so that we can binary
sort them for build. This means that finalization of strs and elem is
no longer needed -- it's part of setup of build_strs and build_elem --
so that is factored away. Renamed alloc_string and alloc_element_string.

It may be worth renaming some of the ELEM_STRING objects / interfaces as
currently they are a little confusing.
2022-09-09 15:17:39 +10:00
Marc Durdin
c82326f595 chore(developer): kmc - use local reference for json schema
Fixes #7221.
2022-09-09 09:29:08 +10:00
Marc Durdin
39c79dfcf5 chore: chmod +x 2022-09-09 09:20:06 +10:00
Marc Durdin
561899a2a0 refactor(developer): rename kmldmlc to kmc
Fixes #7237.

Full clean, configure and build will be required for Core, Developer
after this change.

kmc is much less unwieldy a name than kmldmlc, and becomes our platform
for future compiler integration. Start of implementation for #5283 also.
2022-09-09 09:13:39 +10:00
Marc Durdin
b6c4e21c1d chore(developer): remove name from meta section
Fixes #7214.
2022-09-09 08:57:52 +10:00
Marc Durdin
70cff601d6
Merge pull request #7213 from keymanapp/feat/developer/kmldmlc-test-coverage
feat(developer): add nyc to kmldmlc for test coverage 🙀
2022-09-09 05:22:05 +10:00
Marc Durdin
0def7dd97d
Merge pull request #7212 from keymanapp/feat/developer/kmldmlc-transform-sections
feat(developer): kmldmlc compiler for transforms 🙀
2022-09-09 05:21:54 +10:00
Marc Durdin
5a14f27d07
Merge pull request #7211 from keymanapp/refactor/developer/kmldmlc-split-builder-functions
refactor(developer): split kmxplus builder functions into separate files 🙀
2022-09-09 05:21:44 +10:00
Sabine
fab2670c9e Merge branch 'refactor/developer/6026-kmcompx-compiler-cross-platform-part-2-NEW_VERSION' of https://github.com/keymanapp/keyman into refactor/developer/6026-kmcompx-compiler-cross-platform-part-2-NEW_VERSION
# Conflicts:
#	developer/src/kmcmpdll/CheckForDuplicates.cpp
#	developer/src/kmcmpdll/Compiler.cpp
#	developer/src/kmcmpdll/NamedCodeConstants.cpp
conflicts solved
2022-09-08 17:01:40 +02:00
Sabine
9296e57398 chore(developer): tidied up code 2022-09-08 16:55:26 +02:00
Sabine
667c2fb89d chore(developer): removed all commentaries _S2 2022-09-08 16:18:32 +02:00
Sabine
129bc242bd chore(developer): tidied up code 2022-09-08 15:37:03 +02:00
Sabine
a3c2956f47 chore(developer): tiedied up code 2022-09-08 15:20:28 +02:00
Sabine
9fc1c63783 Merge branch 'refactor/developer/6026-kmcompx-compiler-cross-platform-part-2-NEW_VERSION' of https://github.com/keymanapp/keyman into refactor/developer/6026-kmcompx-compiler-cross-platform-part-2-NEW_VERSION
# Conflicts:
#	developer/src/kmcmpdll/Compiler.cpp
solved
2022-09-07 19:00:07 +02:00
Sabine
b9ba055e31 chore(developer): tidied up code 2022-09-07 18:39:34 +02:00
Sabine
271ca512b9 chore(developer): tidied up code 2022-09-07 17:37:56 +02:00
Sabine
bfc1f681da chore(developer): CheckFNConsuistency: called u16printf with f´different par. 2022-09-07 15:44:03 +02:00
Marc Durdin
ec5a83a3fa
Merge pull request #7204 from keymanapp/feat/core/ldml-transform-table-specs-and-constants
feat(core): ldml keyboard transform elements 🙀
2022-09-07 11:28:42 +10:00
Marc Durdin
89331b62c4
Merge pull request #7203 from keymanapp/chore/developer/add-test-for-messages-and-improve-reporting-on-e2e
chore(developer): add test for compiler messages and cleanup e2e test 🙀
2022-09-07 11:28:35 +10:00
Marc Durdin
6ba737de9f
Merge pull request #7202 from keymanapp/refactor/developer/kmldmlc-cleanup-vkey-constants
refactor(developer): cleanup virtual key constants 🙀
2022-09-07 11:28:29 +10:00
Marc Durdin
f96e3493af fix(developer): hide key-sizes when in desktop layout in touch layout editor
Fixes #7028.

Note that the desktop layout is not currently used by KeymanWeb. The
designer has a number of additional issues, as the .keyman-touch-layout
format is not well suited to describing a fixed hardware layout, but
fixing this is outside the scope of this issue.
2022-09-07 11:13:22 +10:00