Commit graph

33096 commits

Author SHA1 Message Date
Eberhard Beilharz
54a314df0e
Merge pull request #7145 from keymanapp/chore/linux/cherry-pick/changelog
chore(linux): Update debian changelog 🍒
2022-08-30 00:23:23 +02:00
Steven R. Loomis
f03abf2ea5
Update core/src/ldml/ldml_processor.cpp
Co-authored-by: Marc Durdin <marc@durdin.net>
2022-08-29 17:23:17 -05:00
Steven R. Loomis
46d7c96823 fix(core): ldml: fix validator 🙀
- allow keys section to exactly fit in data size, as in #7140
2022-08-29 17:16:45 -05:00
Steven R. Loomis
8c65dea9b3
Merge pull request #7132 from keymanapp/feat/core/5015-fileread
feat(core): ldml: improve file reading/validation 🙀
2022-08-29 16:45:56 -05:00
Steven R. Loomis
c03ab40d5d feat(core): ldml: update spec per code review
#7043
2022-08-29 16:41:39 -05:00
Steven R. Loomis
1c7188f9fd
Apply suggestions from code review
Co-authored-by: Marc Durdin <marc@durdin.net>
2022-08-29 16:41:12 -05:00
Marc Durdin
c0147dc6ea refactor(developer): separate files for kmldmlc sections
@keymanapp-test-bot skip
2022-08-30 07:16:53 +10:00
Marc Durdin
655c872dc8 chore: Merge branch 'master' into chore/merge-master-feature-ldml 2022-08-30 06:31:04 +10:00
Marc Durdin
9edabec297 chore(core): emcc off path for linux 2022-08-30 06:20:48 +10:00
Marc Durdin
8dc68edc6c
Merge pull request #7140 from keymanapp/feat/developer/unit-tests-for-kmldmlc
feat(developer): unit test framework for kmldmlc 🙀
2022-08-29 15:16:41 -05:00
Marc Durdin
6625969a60
Merge pull request #7137 from keymanapp/feat/core/hextobin
feat(core): hextobin tool 🙀
2022-08-29 15:16:11 -05:00
Marc Durdin
c85b1da333
Merge pull request #7129 from keymanapp/feat/core/use-ldml-keyboard-compiler-for-tests
feat(core): use kmldmlc to build test keyboards 🙀
2022-08-29 15:15:55 -05:00
Marc Durdin
5da8d2b920
Merge pull request #7138 from keymanapp/chore/labels
chore: update core/ label
2022-08-29 14:49:14 -05:00
Marc Durdin
5dc5b9325c
Merge pull request #7000 from keymanapp/chore/developer/keymanweb-compiler-remove-unused-dependencies
chore(developer): remove unused dependencies from KeymanWeb compiler 🛩
2022-08-29 14:48:46 -05:00
Marc Durdin
895ce930a0
Merge pull request #6993 from keymanapp/chore/core/rename-json-source
chore(core): rename json.hpp to jsonpp.hpp 🛩
2022-08-29 14:48:32 -05:00
Keyman Server
5878cc0554
Merge pull request #7148 from keymanapp/auto/version-master-16.0.54
auto: increment master version to 16.0.54
2022-08-30 04:02:41 +10:00
Keyman Build Agent
f2b672cf90 auto: increment master version to 16.0.54 2022-08-29 14:01:55 -04:00
Steven R. Loomis
a6bd34b61d
Merge pull request #7133 from keymanapp/feat/linux/7102-dockerfile
feat(linux): Dockerfile for linux builder
2022-08-29 12:21:36 -05:00
Eberhard Beilharz
fc3c991293
fix(linux): Allow downgrades for installing build deps
When install the keyman-build-deps_*.deb file it can happen that
we end up with a lower version number than what we previously
built. This change allows downgrades so that the build dependencies
can be installed.
2022-08-29 19:06:33 +02:00
Eberhard Beilharz
72b9fa3d21
chore(linux): Update debian changelog
(cherry picked from commit f2b1277166)
2022-08-29 15:14:33 +02:00
Joshua A. Horton
5c549d294c chore(web): extra to-do notes 2022-08-29 14:52:26 +07:00
Joshua A. Horton
4bbd5e6aac feat(web): better Segment serialization 2022-08-29 14:49:18 +07:00
Marc Durdin
a72146e42d feat(developer): unit test framework for kmldmlc 2022-08-29 17:21:05 +10:00
Marc Durdin
07e4f20259 chore(common): chmod +x again 2022-08-29 15:49:23 +10:00
Marc Durdin
66af0d3793 chore(common): cleanup package-lock.json 2022-08-29 15:16:55 +10:00
Marc Durdin
670229937a chore: move hextobin to common 2022-08-29 15:07:43 +10:00
Joshua A. Horton
e21a27aeff feat(web): basic publishing of segments to path 2022-08-29 10:59:08 +07:00
Joshua A. Horton
e2dbb1e0b3 feat(web): segment recognition, resolution 2022-08-29 10:25:37 +07:00
Marc Durdin
18b6dee963 chore: update core/ label 2022-08-29 09:59:07 +10:00
Marc Durdin
10b875da57 chore(core): chmod build.sh 2022-08-29 07:47:49 +10:00
Marc Durdin
3d08348256 feat(core): hextobin tool
The hextobin tool is used to help us construct invalid .kmx files
without having to either hack these into the compiler, or write them
with a hex editor. It feels a little bit of overkill, but this makes it
easy to (a) work with our intended file structures, and (b) review any
changes to these invalid keyboard tests.

Note: I did do a cursory search for a hex2bin or hextobin that we could
easily use but did not find a good simple cross-platform tool that we
could consume (`xxd -r` would work but AFAICT constrains our format to a
dump which is much harder to work with and read -- I wanted to be able
to annotate with file structures.)

For an example, see ik_000_null_invalid.txt.

This means that building the invalid keyboards for tests requires node,
but that should be fine given we need node to build the valid keyboards
anyway.

I've put hextobin under core/tools but it could just as well live under
common/tools in the future, if we find it useful for other project unit
tests.
2022-08-29 06:21:16 +10:00
Marc Durdin
b31a8755c0
Merge pull request #7127 from keymanapp/feat/developer/ldml-compiler-xml-loader-and-compiler
feat(developer): LDML keyboard XML Loader and Compiler 🙀
2022-08-27 14:59:55 -05:00
Marc Durdin
85034291d0
Merge pull request #7120 from keymanapp/feat/developer/ldml-compiler-kmxplus-builder
feat(developer): Write kmxplus section 🙀
2022-08-27 14:59:44 -05:00
Marc Durdin
9945055c00 chore(core): move and re-enable invalid ldml keyboard tests 2022-08-28 05:10:21 +10:00
Sabine
1ec6f8a6d1 chore(developer): excluded some tests from kmcompxtest (use get_test_source_exclude_some_kmn.bat now) 2022-08-27 11:26:26 +02:00
Marc Durdin
0057b7d95c chore(core): emcc off path for linux 2022-08-27 14:53:06 +10:00
Marc Durdin
0de4b9eb18 chore(common): add dev dependency for @types/node 2022-08-27 13:22:11 +10:00
Marc Durdin
496ea0641a
chore: add comment for BUILDER_SECT
Co-authored-by: Steven R. Loomis <srl295@gmail.com>
2022-08-27 09:03:29 +10:00
Marc Durdin
bc02ba984a chore(core): skip ldml keyboard tests if node not available 2022-08-27 08:47:34 +10:00
Steven R. Loomis
4816e590cf feat(linux): Dockerfile for linux builder
- add Dockerfile in linux/Dockerfile, referencing linux/debian/control
- add docs in docs/build/linux-ubuntu.md

Fixes: #7102
2022-08-26 17:08:56 -05:00
Steven R. Loomis
791d253528 feat(core): ldml: improve reading 🙀
- read keys into a std::map instead of on the fly
- remove retention of entire kmx file
- remove some functions from kmx_plus.h

#5015
2022-08-26 16:47:20 -05:00
Steven R. Loomis
3de77cda92 feat(core): ldml: improve reading 🙀
- read keys into a std::map instead of on the fly
- no longer retain copy of entire KMX file in read
2022-08-26 16:43:27 -05:00
Steven R. Loomis
892492a634 feat(core): ldml: improve validation 🙀
- clearer asserts
- validate length of data

#5015
2022-08-26 15:45:48 -05:00
Marc Durdin
44d7d5ca88 chore(core): always build deps 2022-08-27 06:23:33 +10:00
Steven R. Loomis
aeeae1c4f4 feat(core): ldml: improve read side 🙀
- don't reparse structs each time
- move validation into constructor
2022-08-26 13:15:05 -05:00
Keyman Server
4ef75556d4
Merge pull request #7131 from keymanapp/auto/version-master-16.0.53
auto: increment master version to 16.0.53
2022-08-27 04:02:16 +10:00
Keyman Build Agent
e304f054db auto: increment master version to 16.0.53 2022-08-26 14:01:39 -04:00
Eberhard Beilharz
9a35b301cb
Merge pull request #7123 from keymanapp/fix/linux/backspace
fix(linux): Remove wrong `ok_for_single_backspace` method
2022-08-26 15:45:16 +02:00
Marc Durdin
3ff5c4c46e chore(core): fix typo 2022-08-26 15:58:25 +10:00
Marc Durdin
a3b1a96960 chore(core): disable failing tests for now 2022-08-26 15:48:19 +10:00