* `builder_has_action` renamed to `builder_start_action`
* `builder_report` renamed to `builder_finish_action`
* `builder_has_action` created to be a silent test for the action
* Added reasonably comprehensive documentation.
Allows use of `./build.sh configure -- --param-one=foo ...`.
Updates Core build to support `--` (including build.bat wrapper for
Windows builds). Fixes Linux debian rules to pass additional
parameters in with this format again, and adds `:arch` to only build
current architecture, not wasm as well...
Note that when using `--` you should typically avoid multiple actions in
a single command, as each action may interpret the additional parameters
differently!
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.
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.
vkeyMaps table compiler, unit test, and fixes to json schema. Adds a
vkeyMaps entry to the basic e2e test.
us-virtual-keys.ts has a new mapping for CLDR VKey Enums, but I will
tweak this in an upcoming commit to use constants instead of hard-coded
values.
As we do not appear to have access to a good DTD validation library in
Node.js, we will instead convert the DTD to a JSON schema file and use
that for validation.
I have not verified every aspect of the JSON schema at this point, but
will incrementally do so as I implement further aspects of the compiler.
This updates all the testing to use the schema. As the schema validation
is slow, I have increased the 'normal' time for tests.