Commit graph

1086 commits

Author SHA1 Message Date
Marc Durdin
4cc90f2722
chore(common): use mac /usr/bin/stat rather than homebrew version 2023-03-23 16:53:32 +11:00
Marc Durdin
549a8e009e chore(common): define BUILDER_CONFIGURATION env var 2023-03-23 09:21:55 +07:00
Marc Durdin
7cd6b00946 chore(common): prevent multiple npm ci runs in child scripts
Fixes #8471.

Ensures that `npm take-forever` (aka `npm ci`, `npm install`) only runs
once during a parent/child build script run.

Note that this also works even where build scripts manually call other
build scripts (e.g. input-processor as it is currently calling kmc
build manually) -- though this is not a recommended practice.
2023-03-21 11:08:22 +07:00
Steven R. Loomis
0138b69939 chore(resources): ldml update to latest tech-preview 🙀
- No, transforms aren't included here, but everything else is
- dc112dab58 in latest keyboard-preview

#7042
2023-03-14 17:38:30 -05:00
Marc Durdin
958f12386d chore(common): add win/mac/linux common build.sh parent scripts
Currently, there are no tests that will run but these scripts will at
least give us a starting point for future code.
2023-03-14 13:10:06 +07:00
Marc Durdin
0811282ccf chore(common): add common/web/build.sh, small cleanup 2023-03-14 13:05:27 +07:00
Marc Durdin
5eee05f16f chore(common): add common test build configurations 2023-03-14 12:40:42 +07:00
Marc Durdin
534bd2a54b
Merge pull request #8416 from keymanapp/chore/common/build-script-performance
chore(common): build script performance improvements
2023-03-14 15:41:32 +11:00
Marc Durdin
e4ca4aa570
Merge pull request #8415 from keymanapp/chore/common/shorthand-builder
chore(common): support shorthand for build.sh
2023-03-14 15:41:25 +11:00
Marc Durdin
3302abaf73 chore(common): use builder_trim instead of trim, _builder_trim 2023-03-13 09:53:43 +07:00
Marc Durdin
350808bd5d chore(common): fixup tests and various typo tweaks
When running tests, discovered a number of typos in builder.inc.sh.

Also fixup pathing for builder include for all scripts under resources/
to ensure that we can maximize performance.
2023-03-13 09:43:09 +07:00
Marc Durdin
fbd41c0a74
chore: fix typo
Co-authored-by: Darcy Wong <darcy_wong@sil.org>
2023-03-13 12:45:11 +11:00
Marc Durdin
eb344c235f chore(linux): fixup build-utils ref in gha workflow 2023-03-13 08:43:50 +07:00
Marc Durdin
f41922d749 docs: build-utils standard environment 2023-03-13 08:30:38 +07:00
Marc Durdin
de0580f436 chore(common): fix another typo 2023-03-13 08:16:45 +07:00
Marc Durdin
92ed99c4d6 chore(common): build script performance improvements
Improves build script performance by:
* using built-ins wherever possible (e.g. string splitting)
* eliminating redundant code
* using absolute (to $KEYMAN_ROOT) rather than relative paths to avoid realpath
* removing unnecessary `npm run` calls

BEFORE                         | AFTER
-------------------------------|----------------------
time ./core/build.sh --help    |
real    0m2.116s               | real    0m0.874s
user    0m0.578s               | user    0m0.198s
sys     0m0.984s               | sys     0m0.289s
-------------------------------|----------------------
time ./web/build.sh --help     |
real    0m3.523s               | real    0m0.757s
user    0m1.166s               | user    0m0.320s
sys     0m2.273s               | sys     0m0.455s
-------------------------------|----------------------
time ./web/build.sh -d         |
real    1m34.750s              | real    0m59.974s
user    0m9.721s               | user    0m6.284s
sys     0m19.652s              | sys     0m13.202s

@keymanapp-test-bot skip
2023-03-13 07:18:09 +07:00
Marc Durdin
22930be045 chore(common): minor cleanup 2023-03-13 06:20:28 +07:00
Marc Durdin
339cff11cf chore(common): support shorthand for build.sh
Fixes #8396
2023-03-13 06:15:43 +07:00
Darcy Wong
45c4e6aca9
Merge pull request #8386 from keymanapp/refactor/common/build-help
refactor(common): Make build-help into helper functions
2023-03-10 14:41:10 +07:00
Darcy Wong
3ef331a87e refactor(common): Update to build_help_html params 2023-03-10 12:49:37 +07:00
Darcy Wong
413e77e2ae fix(common): Start adjusting parameters 2023-03-10 10:07:47 +07:00
Darcy Wong
247dab8fc3
Apply suggestions from code review
Co-authored-by: Marc Durdin <marc@durdin.net>
2023-03-10 09:40:28 +07:00
Marc Durdin
660e98a430 feat(common): support single target for a dependency
Fixes #8397.
2023-03-09 14:54:27 +07:00
Darcy Wong
6c2126431f refactor(common): Make build-help into helper functions 2023-03-08 11:42:13 +07:00
Darcy Wong
099900ea51 feat(common): builder.inc.sh inheritable options
Appending a `+` to a builder option will automatically pass that option to child scripts.

Applying #8371 to master branch and @darcywong00 will then re-apply to #7407
2023-03-08 10:33:35 +07:00
Marc Durdin
00017350d3 chore(common): clean up --debug usage in build scripts
Fixes #8373.

Note that the core functionality requested in #8373 is already in place;
this commit just does some cleanup to make this easier to maintain in
the future:

* Uses `builder_is_debug_build` function to test for debug build
  (instead of `builder_has_option --debug`, which would also work but
  using the other function avoids typo issues with the option name).

* Renames `$_builder_debug` to `$_builder_debug_internal` to reduce
  naming confusion

* Documents `$builder_debug`, `builder_is_debug_build`, and clarifies
  usage of `--debug` option.

* Logs command line for dep builds (we could hide this in the future,
  but it certainly doesn't hurt for now!)
2023-03-08 05:40:40 +07:00
Marc Durdin
334c316fd3
Merge pull request #8357 from keymanapp/chore/common/remove-vswhere
chore(common): remove vswhere
2023-03-07 19:02:38 +11:00
Marc Durdin
a02d48047c
Merge pull request #8344 from keymanapp/chore/common/cleanup-builder-echo
chore(common): cleanup build.inc.sh echo
2023-03-07 19:02:29 +11:00
Marc Durdin
f1985ad7a5
chore: address review comments 2023-03-07 09:54:22 +11:00
Marc Durdin
af4b2536bc chore(common): remove vswhere
With #8287, we no longer use a local copy of vswhere.exe but instead
rely on a standard location for it from the Visual Studio installer.
2023-03-03 04:50:25 +07:00
Marc Durdin
f325e9c63e
Merge pull request #8350 from keymanapp/fix/common/npm-publish
fix(common): fixup npm publish
2023-03-02 21:13:11 +11:00
Marc Durdin
b543b3f341
Update resources/build/npm-publish.inc.sh
Co-authored-by: Darcy Wong <darcy_wong@sil.org>
2023-03-02 16:43:24 +11:00
Marc Durdin
ddc447c7e7 fix(common): fixup npm publish 2023-03-02 12:33:18 +07:00
Marc Durdin
1bc31c8792 chore(common): handle pre-init builder_echo 2023-03-02 05:56:24 +07:00
Marc Durdin
06afdd262b chore(common): cleanup build.inc.sh echo
Makes the output of log messages from builder scripts more consistent,
and uses color more effectively to highlight specific parts of lines.
2023-03-01 14:51:08 +07:00
Marc Durdin
3c3dcd8c93 chore(common): update builder docs for builder_describe_internal_dependency 2023-03-01 14:02:42 +07:00
Marc Durdin
269265c1f3 chore(common): update builder docs for builder_describe_internal_dependency 2023-03-01 14:00:11 +07:00
Marc Durdin
3c175bfc63 feat(core): run tests for current arch 2023-03-01 13:41:23 +07:00
Marc Durdin
e85bbaa069 feat(core): build both archs for mac 2023-03-01 13:02:48 +07:00
Marc Durdin
78f18c38ee feat(core): mac fat library -- testing 2023-03-01 11:00:15 +07:00
Marc Durdin
572bd74783 fix(common): builder: skip dependency build for clean action
We should not attempt to build dependencies when running `clean`. Note:
if your `clean` action requires dependencies, then something is very,
very wrong and you should fix that!
2023-03-01 08:26:30 +07:00
Marc Durdin
b809a60936
Merge pull request #7054 from keymanapp/feature-ldml
epic: LDML keyboard support 🙀
2023-02-28 20:38:00 +11:00
Marc Durdin
b96e863885 chore: Merge branch 'feature-ldml' into chore/merge-master-into-feature-ldml-A17S7 2023-02-28 05:49:05 +07:00
Marc Durdin
e6ea381aba chore(common): fix child build error handling
Fixes #8322.

This issue was arising due to subshells masking the exit code.

set -e is not really to be trusted.
2023-02-27 15:09:42 +07:00
Marc Durdin
04189d2e3d chore(common): avoid -v for testing arrays in builder 2023-02-27 14:05:11 +07:00
Joshua A. Horton
6695c03ed7 change(common): missed part of the suggested tweak 2023-02-24 08:02:55 +07:00
Joshua A. Horton
c4ff8a5da3 chore(common): fix + enhancement per review 2023-02-24 08:01:42 +07:00
Joshua A. Horton
42f03916ad feat(common): adds warning if described output does not exist when finishing action 2023-02-23 16:18:18 +07:00
Marc Durdin
38603e8421
Merge pull request #8279 from keymanapp/chore/core/cleanup-meson-build
chore(core): cleanup meson build
2023-02-23 13:28:02 +11:00
Marc Durdin
e71d8d3d6d chore: fail to builder_die 2023-02-23 09:13:14 +07:00