Commit graph

16297 commits

Author SHA1 Message Date
Marc Durdin
0e5943c266 chore(core): add core/.build-builder as CI signal
The presence of this file tells CI to use the new builder_ style
parameters for build.sh.

Once all branches for 16.0+ are updated to merge the
chore/core/7247-use-builder-for-build-sh branch, then we can remove this
file and the corresponding bash test branches in CI.
2022-09-12 10:06:29 +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
31a34f73d7 chore(core): add unit test for zero checksum 2022-09-12 05:46:13 +10:00
Marc Durdin
89ccc393ab chore: make checksum optional
Fixes #7222.
2022-09-09 17:23:07 +10:00
Marc Durdin
279960ff40
Merge pull request #7246 from keymanapp/chore/merge-master-into-feature-ldml
chore: merge master into feature-ldml 🙀
2022-09-09 07:56:57 +10:00
Marc Durdin
e086b8f45a
Merge pull request #7244 from keymanapp/chore/core/7134-unirename
chore(core): improve xstring macros 🙀
2022-09-09 05:22:23 +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
Steven R. Loomis
d56b644992
Merge pull request #7230 from keymanapp/fix/core/7134-utf32 2022-09-08 13:37:59 -05:00
Keyman Server
b426a23dae
Merge pull request #7245 from keymanapp/auto/version-master-16.0.59
auto: increment master version to 16.0.59
2022-09-09 04:18:43 +10:00
Keyman Build Agent
531a911ca0 auto: increment master version to 16.0.59 2022-09-08 14:18:01 -04:00
Steven R. Loomis
90131728e8 chore(core): improve xstring macros 🙀
- move Utf32CharToUtf16 to inline
- remove Is_SMP and call sites, use Utf32CharToUtf16 instead.

For: #7134
2022-09-08 12:29:04 -05:00
Steven R. Loomis
82443a610d
fix(core): ldml Update core/src/kmx/kmx_plus.h
Co-authored-by: Marc Durdin <marc@durdin.net>
2022-09-08 12:04:04 -05:00
Steven R. Loomis
029a2737bf fix(core): ldml: improve utf-32 handling++ 🙀
- review comments
- kmx_xstring: add and document macros, add Utf32CharToUtf16
- unit tests for kmx_xstring macros

Fixes: #7134
2022-09-08 11:45:23 -05:00
Joshua Horton
18dfa06e5f
Merge pull request #7217 from keymanapp/feat/common/models/default-breaker-tests
feat(common/models): extra Unicode-based wordbreaker unit tests
2022-09-08 11:58:54 +07:00
Joshua Horton
6d4c242f57
Merge pull request #7215 from keymanapp/fix/common/models/disconnected-unit-tests
fix(common/models): reconnects unit tests for worker-internal submodules 🎡
2022-09-08 11:58:51 +07:00
Joshua A. Horton
3f36a07abb change(common/models): tweak to flag-emoji test for clarity 2022-09-08 09:11:26 +07:00
Steven R. Loomis
7a71ed84cc fix(core): ldml: improve utf-32 handling 🙀
- remove hacky utf-32 processing
- add utf-32 test case to test_kmx_plus.cpp
- change kmx_plus to return std::u16string
- kmx_xstring: add Uni_IsBMP() macro

Fixes: #7134
2022-09-07 18:08:26 -05:00
Keyman Server
80d7ce78be
Merge pull request #7229 from keymanapp/auto/version-master-16.0.58
auto: increment master version to 16.0.58
2022-09-08 04:02:03 +10:00
Keyman Build Agent
16533c2e26 auto: increment master version to 16.0.58 2022-09-07 14:01:22 -04: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
914208d728
Merge pull request #7201 from keymanapp/feat/developer/kmldmlc-vkey-support
feat(developer): add vkey support 🙀
2022-09-07 11:28:21 +10:00
Marc Durdin
f48727a126
Merge pull request #7200 from keymanapp/feat/developer/kmldmlc-name-tests
feat(developer): add unit tests for 'name' compiler 🙀
2022-09-07 11:28:15 +10:00
Marc Durdin
d9e21b1db9
Merge pull request #7199 from keymanapp/refactor/developer/kmldmlc-rename-errors-to-messages
refactor(developer): kmldmlc - rename `CompilerErrors` to `CompilerMessages` 🙀
2022-09-07 11:28:08 +10:00
Marc Durdin
452ada49e3
Merge pull request #7198 from keymanapp/feat/developer/kmldmlc-ldml-clean-loca-report
feat(developer): add compiler hint for non-minimal loca 🙀
2022-09-07 11:28:01 +10:00
Marc Durdin
2e7aef39e7
Merge pull request #7197 from keymanapp/chore/core/section-order
chore(core): order sections according to binary format 🙀
2022-09-07 11:27:54 +10:00
Marc Durdin
5e1d898527
Merge pull request #7196 from keymanapp/feat/core/ldml-name-section
feat(core): add 'name' section 🙀
2022-09-07 11:27:46 +10:00
Marc Durdin
9e3eff37c9
Merge pull request #7194 from keymanapp/feat/common/hextobin-index-command
feat(common): hextobin `index` command 🙀
2022-09-07 11:27:38 +10:00
Marc Durdin
f1b2be168f
Merge pull request #7193 from keymanapp/chore/core/kmxplus-zero-length-string
chore(core): define zero length string vs null string for kmxplus 🙀
2022-09-07 11:27:30 +10:00
Marc Durdin
423debfef7
Merge pull request #7187 from keymanapp/feat/core/ldml-add-meta-version
feat(core): add version field to meta 🙀
2022-09-07 11:27:20 +10:00
Marc Durdin
c171a79915
Merge pull request #7186 from keymanapp/feat/common/hextobin-calculate-size-and-offset
feat(common): add size and offset calculators to hextobin 🙀
2022-09-07 11:27:12 +10:00
Marc Durdin
3307dc63a7
Merge pull request #7184 from keymanapp/feat/developer/7181-use-json-schema-to-verify-source-file
feat(developer): use json schema to verify source file 🙀
2022-09-07 11:27:04 +10:00
Marc Durdin
716b19b810
Merge pull request #7183 from keymanapp/feat/developer/7180-add-kmldmlc-test-to-developer-test-build
feat(developer): add kmlmc and kmldmlc to `make test` 🙀
2022-09-07 11:26:54 +10:00
Darcy Wong
bad8806c27
Merge pull request #7156 from keymanapp/fix/android/longpress-backspace
fix(android/engine): Fix Backspace key to delete without errant subkeys
2022-09-07 06:26:14 +07:00
Marc Durdin
690290bdfe
chore(core): add comment for KMXPLUS_STR
Co-authored-by: Steven R. Loomis <srl295@gmail.com>
2022-09-07 08:14:23 +10:00
Joshua A. Horton
91448c344f feat(web): more default-breaker unit tests 2022-09-06 14:52:16 +07:00
Joshua A. Horton
413e88daa2 chore(web): where'd that extra indentation come from? 2022-09-06 10:10:33 +07:00
Joshua A. Horton
a09cc5d822 fix(common/models): models/templates unit tests 2022-09-06 09:48:52 +07:00
Joshua A. Horton
a6e65333c5 fix(common/models): wordbreaker test require paths 2022-09-06 08:54:56 +07:00
Marc Durdin
447b9afead feat(developer): add nyc for test coverage to kmldmlc 2022-09-06 11:52:22 +10:00
Marc Durdin
8e5ce35f4d feat(developer): kmldmlc compiler and tests for transforms
Adds compilers and minimal unit tests for transform sections bksp,
finl, ordr, and tran, and cleans up problems in the corresponding
builders.

Adds a utility script for building test fixtures for manual analysis:
  ./build.sh build-fixtures

Refactors constants to give us design-time type safety once more.
2022-09-06 10:15:31 +10:00
Keyman Server
1480359eea
Merge pull request #7210 from keymanapp/auto/version-master-16.0.57
auto: increment master version to 16.0.57
2022-09-06 04:02:07 +10:00
Keyman Build Agent
eddec014ee auto: increment master version to 16.0.57 2022-09-05 14:01:31 -04:00
Eberhard Beilharz
369ef3d152
Merge pull request #7192 from keymanapp/chore/linux/postinst
chore(linux): Fix ibus-keyman.postinst script
2022-09-05 08:45:39 +02:00
Marc Durdin
14cbab10a2 feat(developer): add builders for transform sections
Note: basic.txt changed becuase I fixed the build order for sections.
2022-09-05 16:13:15 +10:00
Marc Durdin
917b39e7da refactor(developer): split kmxplus builder functions into separate files
This refactor work simply splits the existing functions into separate
files to prevent kmx-plus-builder.ts getting too big.

The functions now have no side-effects. Some of them mutate input
parameters, but they are fairly self-contained, which should make
unit tests simpler. Note that `alloc_string` is used extensively, but
works on the input parameter `sect_strs`.
2022-09-05 14:02:04 +10:00
Marc Durdin
9f5f8e976e feat(core): ldml keyboard transform elements
Adds definitions for LDML keyboard transform elements `transforms`,
`backspaces`, and `reorders`, and the binary format sections `bksp`,
`elem`, `finl`, `ordr`, and `tran`.

Minimally updates the compiler so that it will build, but no other
changes to the compiler.

Compiler and Typescript updates to support building these sections will
come in the next PR.
2022-09-05 13:11:51 +10:00