Commit graph

1644 commits

Author SHA1 Message Date
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
Marc Durdin
9a7ebac071 chore(developer): fixup tests and build process 2023-03-17 04:31:03 +07:00