Commit graph

846 commits

Author SHA1 Message Date
Marc Durdin
5f88bbf50c fix(developer): kmc-kmn would abort build on warnings
Fixes #8615.

The msgproc was never being located as we were missing the UTF8ToString
wrapper for the context.

This also ensures error message codes are emitted in hexadecimal, and
that the return value from the msgproc callback is 1, meaning 'continue
build'.
2023-04-18 13:04:59 +07:00
Marc Durdin
3eb29c3427 fix(developer): add missing dependencies 2023-04-18 05:30:12 +07:00
Marc Durdin
8057b39066 chore(developer): add comma 2023-04-17 12:12:14 +07:00
Marc Durdin
75a4bac5c6 chore(developer): tweak build of extension list in kmc
Co-authored-by: Joshua Horton <jahorton@sil.org>
2023-04-17 12:07:35 +07:00
Marc Durdin
501cf03dc2 chore(common): update description for 'build.sh pack' 2023-04-12 14:18:31 +07:00
Marc Durdin
3265a714f2 chore(common): add missing deps and files for npm publish
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.
2023-04-12 14:05:05 +07:00
Marc Durdin
10a59f789d fix(common): support npm pack and consolidate npm publishing
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.
2023-04-12 11:55:31 +07:00
Marc Durdin
02638023bf fix(developer): improve 'does not exist' error message
Fixes #8508.
2023-04-11 20:17:18 +07:00
Marc Durdin
354291c390 fix(developer): kmc should not validate as well as compile keyboard
Fixes #8512.

Note: the compile phase is identical to the validation phase at this
point, so no need to run validate prior to compile.
2023-04-11 20:16:16 +07:00
Marc Durdin
cdf9bbf9f8 chore(developer): kmc-kmn should build all baseline fixtures
Fixes #8540.
2023-04-11 20:15:53 +07:00
Marc Durdin
e22ae91eae chore(developer): filename case 2023-04-11 20:15:31 +07:00
Marc Durdin
43cffa2ec3 chore(developer): filename case change 2023-04-11 20:13:44 +07:00
Marc Durdin
a151ac476d refactor(developer): DRY kmc module references 2023-04-11 14:07:55 +07:00
Marc Durdin
ab1514eb93
Merge pull request #8576 from keymanapp/fix/developer/8574-dry-run-var
fix(developer): add DRY_RUN variable to build.sh
2023-04-11 13:11:55 +10:00
Marc Durdin
135060edfc fix(developer): add DRY_RUN variable to build.sh
Fixes #8574.

Also ensures that kmc is published after its dependencies.
2023-04-11 09:59:11 +07:00
Marc Durdin
e31ad60d3c chore(developer): Further AddWarning and SetError cleanup
* 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`
2023-04-10 16:04:46 +07:00
Marc Durdin
5e761f56eb chore(developer): add basic unit test for kmcmplib apis 2023-04-10 15:24:03 +07:00
Marc Durdin
732c0e4786 chore(developer): -d flag should not be overridden in build.sh 2023-04-10 15:23:43 +07:00
Marc Durdin
59b981880f chore(developer): cleanup SetError and return types for public apis in kmcmplib 2023-04-10 15:23:17 +07:00
Marc Durdin
c5d79a9fb4
Merge pull request #7330 from keymanapp/feature-kmcompx
epic: kmcompx - kmcmpdll cross-platform compiler 🚑
2023-04-10 07:34:04 +10:00
Marc Durdin
787b32ba34
Revert "chore(web): merge master into feature-esmodule-web-engine (A17S9 end) 🧩" 2023-03-31 14:17:37 +11:00
Joshua Horton
6df63eddc5
Merge pull request #8549 from keymanapp/chore/master-to-esmodule-merge-a17s9 2023-03-31 08:51:27 +07:00
Marc Durdin
1a5592d43f
Merge pull request #8531 from keymanapp/chore/developer/8530-move-filesystem-h-cassert
chore(developer): move cassert ref to filesystem.cpp
2023-03-29 14:47:41 +11:00
Marc Durdin
ef61cc3815
Merge pull request #8529 from keymanapp/refactor/common/shared-kmx-tests
refactor(common): move core baseline tests into common
2023-03-29 14:47:33 +11:00
Marc Durdin
c8347b3c1e
Merge pull request #8523 from keymanapp/chore/developer/publish-all-required-npm-modules
chore(developer): publish all required npm modules
2023-03-29 14:47:23 +11:00
Marc Durdin
82a8ef0f63
Merge pull request #8503 from keymanapp/feat/core/use-kmc-for-kmx-builds
feat(core): use kmc to build kmx tests
2023-03-29 14:47:14 +11:00
Marc Durdin
0f5589f37f chore: fix typo 2023-03-28 13:38:43 +07:00
Marc Durdin
f31cc92848 chore: address review comments 2023-03-28 13:17:56 +07:00
Marc Durdin
f5c055e619 chore(developer): move cassert ref to filesystem.cpp 2023-03-28 13:10:12 +07:00
Marc Durdin
c18ef54029 refactor(common): move core baseline tests into common
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)
2023-03-28 05:20:45 +07:00
Marc Durdin
2a871c8165 chore(developer): publish all required npm modules 2023-03-27 11:36:21 +07:00
Marc Durdin
32cea3eef2 chore(developer): fixup fail to builder_die in commands.inc.sh 2023-03-27 11:10:46 +07:00
Steven R. Loomis
93ca0473e5 fix(developer): ldml add ABNT2 🙀
- compiles, at least

For: #8161
2023-03-24 12:49:00 -05:00
Steven R. Loomis
a474d8cbc6 fix(developer): ldml add JIS 🙀
- compiles, at least

For: #8161
2023-03-24 12:13:36 -05:00
Marc Durdin
f3f8514445 chore(developer): fix typos 2023-03-24 15:06:12 +07:00
Marc Durdin
978b93aa64 refactor(common): move keymanversion_build.in to /common/include 2023-03-24 14:42:12 +07:00
Joshua A. Horton
b85087f392 chore(web): Merge branch 'master' into chore/web/update-feature-esmodule-for-configure-fix 2023-03-23 15:15:07 +07:00
Marc Durdin
084c9d68f0 chore(core): use kmc to build .kmn files 2023-03-23 14:03:37 +07:00
Marc Durdin
825a41c315 feat(developer): add kmc-kmn to kmc 2023-03-23 12:12:25 +07:00
Marc Durdin
1e3c675f1c chore(developer): more polish on wasm interfaces 2023-03-23 10:58:09 +07:00
Marc Durdin
7f9addebbb chore(developer): tweak build scripts 2023-03-23 10:14:28 +07:00
Marc Durdin
18b3133c69 feat(developer): wasm integration 2023-03-23 10:14:27 +07:00
Marc Durdin
0deb5ff245 chore(common): define BUILDER_CONFIGURATION env var 2023-03-23 10:14:26 +07:00
Marc Durdin
dd15de40df feat(developer): kmc-kmn tdd framework 2023-03-23 10:14:25 +07:00
Marc Durdin
062b947363 chore: Merge branch 'feature-kmcompx' into chore/merge-master-into-feature-kmcompx-a17s9 2023-03-23 10:08:59 +07:00
Marc Durdin
92a3000c8d chore(windows): fix comments in Makefile
Shockingly bad choice for nmake Makefiles to not allow whitespace before
comment # marker.
2023-03-20 07:30:55 +07:00
Marc Durdin
1a3cc078b5 chore(windows): sentry cleanup and signing
Addresses review comments.

Use SENTRY_SDK_VERSION where possible, and codesign sentry components
during build.
2023-03-19 07:35:06 +07:00
Marc Durdin
a127e32068 chore(windows): update sentry-native to 0.6.0
Fixes #8081.
2023-03-17 14:32:34 +07:00
Marc Durdin
5b60c2efab chore(developer): final cleanup 2023-03-17 05:38:03 +07:00
Marc Durdin
2d9106f422 chore(developer): always clone keyboards repo for 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.
2023-03-17 05:14:51 +07:00