The build/ folder for most packages was missing due to being listed in
.gitignore.
Also, @keymanapp/ldml-keyboard-constants package was not being published
despite being a dependency of @keymanapp/kmc-keyboard.
Instead of relying on npm's use of .gitignore / .npmignore (which has
seriously wonky behaviours), we list the files that should be included
in package.json.
NPM Wonky behaviours: it seems that .npmignore causes .gitignore in the
same folder to be ignored. But, higher level .gitignore files still
affect the files included in the package, which makes
specification-by-exclusion painful (negating exclusions, etc). We do not
recommend use of .npmignore anywhere for this reason.
Fixes#8586.
All npm publish actions in the repository are now run as part of the
Developer release build, hosted at present by kmc, until we setup a
higher-level build script to do it.
Adds a 'pack' action which mirrors 'publish' for all npm packages.
Removes unnecessary dev dependencies of models-templates and
models-wordbreakers from kmc-model.
Web Release build CI step has been updated to check for presence of
.build-builder.
* Splits compiler interface functions that return bool into
CompilerInterfaces.cpp, and moves `SetError` define to that unit so
it can't be used accidentally elsewhere
* Audit of `AddWarning` calls and only those that are used in bool
functions now `return FALSE` (with new `AddWarningBool`) whereas all
others `return CERR_Break`
Decided to use the name `baseline` for this set of tests. They can be
used by any project in the repo now. Tests will be treated as shared,
and not modified (except in the case of a buggy test).
* Moves .kmn files, add `&NAME` line (don't use meson templating for
these files)
* Generates reference .kmx files using kmcomp for use as a baseline with
kmcmplib (kmc) tests, and for linux tests
* Updates references in core, kmcmplib, and linux builds
* Renames all the .kmn / .kmx to use a standardized, clean name format
(this was needed for building packages in the core tests)
During the configure phase for kmcmplib, we'll now always make a clone
of the keyboards repo so that we can checkout the specific commit we
want without making a mess of the user's environment. This is a little
slower (about 30 seconds to do a full local clone, a couple of minutes
for a remote clone) but a whole lot safer.
This only needs to be done in the `configure` action.
This also simplifies our scripts because we no longer need to pass any
option into meson for the keyboards repo, as we'll always know it is in
tests/keyboards.