The build agents will now automatically install and activate the
Emscripten version found in minimum-versions.inc.sh when configuring
WASM projects. For developer machines, this behaviour can be enabled by
setting the environment variable `KEYMAN_USE_EMSDK` (recommended).
This will be back-ported to 17.0 so that we can ensure that all builds
use a consistent Emscripten version.
`emcc.py` is not marked as executable in emcripten's git repo so the
build failed when trying to locate emscripten. However, it turns out
that `emcc` is marked as executable, so we use that instead.
On Windows however, we still need to use `emcc.py` because otherwise
Meson won't detect it as valid compiler.
Previously we didn't show the description for the target if the target
definition specified a an alternate folder, e.g. `:app=src/app`. This
change fixes this.
This top-level builder script will build as many projects as are
possible to build on the current platform. For example, iOS and macOS
projects can only be built on macOS; Windows and parts of Developer can
only be built on Windows.
Relates-to: #6268
Add `builder_describe_platform` function to builder.inc.sh, associated
documentation and unit test, and use it in Developer and Common build
scripts.
Relates-to: #11755
This adds references to various data sources such as Unicode. At
present, this is informational only, not used by any scripts, but the
intent is that in the future we reference this for any scripted data
updates.
This change allows to build a docker image that can build Keyman
for Linux with test coverage reports, and installs the necessary
dependencies for running integration tests.
This updates the minimum required node version to Node 20. The latest
version of Node 18 still contains the npm bug
(https://github.com/npm/cli/issues/7072) whereas Node 20 got updated to
a npm version that contains a fix. Node 20 is known to work with our
current code, so this change updates to that as an intermediate step
before we investigate if we can update to Node 22 as discussed for
Keyman 18.
Previously with the right number of parameters that take values and the
right order it could happen that a parameter value got replaced by an
action when the script output the parameters. This change fixes this.
Fixes: #11676
These changes come out of discussion in the team; we want to make use of
git trailers and improve the quality of our commit messages. Starting by
adding more hints to the commit suggestions. Includes some minor cleanup
of the hooks, and hopefully also improves tests so that they don't
interfere with interactions with non-Keyman repos.
Note: the scopes list may need maintenance as the list still includes
sub-scopes and 'oem'.