Commit graph

16364 commits

Author SHA1 Message Date
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
Marc Durdin
c820fbc0e6
Merge pull request #7264 from keymanapp/chore/core/kmx-file-verification-baby-steps
chore(core): verify StartGroup in kmx load 🙀
2022-09-13 07:46:02 +10:00
Marc Durdin
e96b162770
Merge pull request #7262 from keymanapp/chore/core/7247-use-builder-for-build-sh
chore(core): use builder_ for build.sh 🙀
2022-09-13 07:45:43 +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
865a18d0e1 chore(core): kmldmlc to kmc, pre-merge of feature-ldml branch 2022-09-13 07:22:49 +10:00
Marc Durdin
e67b90cd83 chore(linux): missed a cd statement 2022-09-13 07:16:58 +10:00
Marc Durdin
5adac5b683 chore(linux): restore meson configure step for install 2022-09-13 06:37:58 +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
Marc Durdin
1ddf96a539
Merge pull request #7269 from keymanapp/chore/merge-master-into-feature-ldml
chore: merge master into feature-ldml 🙀
2022-09-13 06:29:22 +10:00
Marc Durdin
9be0e6f553 chore(linux): clean core and reconfigure as required 2022-09-13 06:16:07 +10:00
Marc Durdin
6987a170c0 chore(core): fixup paths for linux build 2022-09-12 17:22:21 +10: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
854ace08fc chore(linux): fix typos 2022-09-12 15:19:43 +10:00
Marc Durdin
59262dc747
Merge pull request #7260 from keymanapp/chore/web/disable-browserstack
chore(web): disable browserstack on non-web-specific builds
2022-09-12 11:34:19 +10:00
Marc Durdin
f8924cfb6b
Merge pull request #7258 from keymanapp/chore/browserstack-no-concurrency-verification
chore:  try disabling concurrency for browserstack tests
2022-09-12 11:21:46 +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
7f4e3b1142
Merge pull request #7190 from keymanapp/fix/developer/7122-compiler-current-line-mismatch
fix(developer): compiler mismatch on currentLine
2022-09-12 11:18:41 +10:00
Marc Durdin
7173715372 chore(linux): core:arch in reconf.sh also 2022-09-12 11:11:29 +10:00
rc-swag
9e9414ef10
Merge pull request #7263 from keymanapp/docs/windows/testhost-debug-workflow-hints
docs(windows): add steps for using testhost debugging
2022-09-12 10:40:54 +10:00
rc-swag
f8a0397fb3
docs(windows): apply review suggestions
Co-authored-by: Marc Durdin <marc@durdin.net>
2022-09-12 10:38:43 +10:00
Marc Durdin
ca098628a2 chore(core): verify StartGroup in kmx load
This is the first baby step in good verification of a .kmx file. A place
to add more tests.

@keymanapp-test-bot skip
2022-09-12 10:31:40 +10:00
Ross
e406018267 docs(windows): add steps for using testhost debugging 2022-09-12 10:20:49 +10:00
Marc Durdin
85dfb95563 chore(linux): add arch param for core build 2022-09-12 10:15:25 +10:00
Marc Durdin
c3dd066291 chore(core): cleanup commands.inc.sh slightly 2022-09-12 10:12:34 +10:00
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
ef86410562
Merge pull request #7252 from keymanapp/chore/developer/7235-kmc-sort-meta-and-strs
refactor(developer): kmc - encapsulate strs and elem items for sort 🙀
2022-09-11 11:35:27 +10:00
Marc Durdin
3f58f2d2e8
Merge pull request #7250 from keymanapp/chore/developer/7221-use-local-ref-to-json-schema
chore(developer): kmc - use local reference for json schema 🙀
2022-09-11 11:35:19 +10:00
Marc Durdin
b7c7cea568
Merge pull request #7249 from keymanapp/refactor/developer/rename-kmldmlc-to-kmc
refactor(developer): rename `kmldmlc` to `kmc` 🙀
2022-09-11 11:35:01 +10:00
Marc Durdin
218a04d131
Merge pull request #7248 from keymanapp/chore/developer/ldml-remove-name-from-meta
chore(developer): remove name from meta section 🙀
2022-09-11 11:34:54 +10:00
Marc Durdin
2aeb5435e8 chore(web): disable browserstack for LM Layer tests 2022-09-11 08:12:51 +10:00
Marc Durdin
4434cdc30d chore(web): disable browserstack on non-web-specific builds
Because BrowserStack tests are unreliable, I am disabling them for any
builds that are not specifically targeting web. Two ways that the tests
can be enabled:

1. Include '(web)' in the PR title
2. Include the label test-browserstack

This only impacts builds in the CI test environment, not anything else.

See build-utils-ci.inc.sh for helper functions for accessing PR
metadata, and build-utils-ci.test.sh for unit tests for this
functionality.
2022-09-11 07:19:18 +10:00
Keyman Server
84003d4a19
Merge pull request #7259 from keymanapp/auto/version-master-16.0.61
auto: increment master version to 16.0.61
2022-09-11 04:02:50 +10:00
Keyman Build Agent
e7dcf7fe08 auto: increment master version to 16.0.61 2022-09-10 14:02:03 -04:00
Darcy Wong
8ca5ced03d
Merge pull request #7239 from keymanapp/fix/android/language-picker-association
fix(android): Standardize language ID in language picker menu
2022-09-10 07:04:27 +07:00
Marc Durdin
1724778e77 chore: try disabling concurrency for browserstack tests
We're still getting sporadic test failures with BrowserStack. So per one
discussion online, attempting to run without concurrency to see if it
improves stability.

I note that the video from tests where we "fail to capture" shows a
browser with an error: "Safari Can't Connect to the Server" "Safari
can't open the page "localhost:9879/?id=75185158" because Safari can't
connect to the server "localhost".

1971215883
2022-09-10 06:23:26 +10:00
Marc Durdin
89114668bb
Merge pull request #7254 from keymanapp/fix/windows/7251/unit-tests-tsf-bkspace
fix(windows) Update unit tests for tsf bkspace
2022-09-10 06:21:10 +10:00
Marc Durdin
30ccee63e8
Update windows/src/engine/keyman32/tests/keyman-engine-tests/kmprocessactionstests.cpp
Co-authored-by: Eberhard Beilharz <ermshiperete@users.noreply.github.com>
2022-09-10 06:20:48 +10:00
Marc Durdin
33bb154dbb
Merge pull request #7253 from keymanapp/chore/fixup-km_kbp_event-docs
chore(core): fixup km_kbp_event docs
2022-09-10 05:49:14 +10:00
Marc Durdin
13a3df32d7
Merge pull request #7037 from keymanapp/fix/web/pred-text-stability
fix(web): enhanced timer for prediction algorithm
2022-09-10 05:45:03 +10:00
Keyman Server
98dd9b68e7
Merge pull request #7257 from keymanapp/auto/version-master-16.0.60
auto: increment master version to 16.0.60
2022-09-10 04:02:43 +10:00
Keyman Build Agent
711dfb19b2 auto: increment master version to 16.0.60 2022-09-09 14:02:01 -04:00
rc-swag
cb933a875c
Merge pull request #7243 from keymanapp/fix/windows/tsf-app-bksp-delete-smp
fix(windows): Delete both code units when deleting surrogate pairs in TSF-aware apps
2022-09-09 21:15:36 +10:00
Marc Durdin
89ccc393ab chore: make checksum optional
Fixes #7222.
2022-09-09 17:23:07 +10:00
Ross
fc57b3d8e4 fix(windows): fix includes and dep for unit test proj
Also add a test for surrogate backspace
2022-09-09 16:10:57 +10:00
Marc Durdin
5a3dad0298 chore(core): fixup km_kbp_event docs 2022-09-09 15:32:48 +10:00
Marc Durdin
ab07e0595f
Merge pull request #7223 from keymanapp/feat/core/add-event-api
feat(core): add `km_kbp_event` API endpoint
2022-09-09 15:23:02 +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
ac27082e6d chore(developer): configure before build for kmc 2022-09-09 12:14:01 +10:00