Commit graph

38 commits

Author SHA1 Message Date
Marc Durdin
cd8121ef65 chore(common): builder scripts now use /resources/build/builder.inc.sh
Note: there is a bit of potential confusion about the difference between
/resources/builder.inc.sh (the full implementation for builder scripts),
and /resources/build/builder.inc.sh (the source script that builder
scripts should always use).

This allows us to make assumptions that will always be true for builder
scripts that may not be true for other scripts, such as setting base
folder.
2024-05-02 15:54:31 +07:00
Marc Durdin
0f390d47cc chore(common): maintenance on build scripts - cd
Fixes #11324.

* Always `cd "$THIS_SCRIPT_PATH"`
* Remove unnecessary `cd` from all build.sh
* Remove unnecessary `set -eu` from all build.sh (and `# set -x`)
* Replace old build-utils.sh incantation in a few build.sh scripts
2024-05-02 15:54:29 +07:00
Joshua A. Horton
df2436b5c4 change(web): converts most of lower-level Web module scripts 2023-12-18 10:08:07 +07:00
Joshua A. Horton
2523b41a9d chore(web): DRYs out timedPromise defs 2023-07-10 14:35:52 +07:00
Joshua A. Horton
a92f915e60 chore(web): Merge branch 'chore/web/cleanup-kmw-headless-module-builds' into chore/web/esbuild-config-cleanup 2023-06-16 12:47:20 +07:00
Joshua A. Horton
569662237e fix(web): build.sh dependency on the centralized bundling stuff 2023-06-16 11:36:03 +07:00
Joshua A. Horton
194139be03 chore(web): paren spacing cleanup 2023-06-15 15:49:38 +07:00
Joshua A. Horton
6e8432383b chore(web): applies bulk of review suggestions 2023-06-15 15:48:53 +07:00
Joshua A. Horton
b65df8243b chore(web): cleanup of lm-worker & related build scripts, removal of lower-level bundles 2023-06-14 15:51:09 +07:00
Joshua A. Horton
cb2029bf49 chore(web): cleanup for purely-headless KMW main-thread-module build scripts, esbuild configs 2023-06-14 15:37:30 +07:00
Joshua A. Horton
b41b619dfd feat(common/web): adds c8 for web/utils, web/keyboard-processor 2023-06-12 10:51:35 +07:00
Joshua A. Horton
e318c5cb9c chore(web): build dependency links 2023-06-08 13:03:26 +07:00
Joshua A. Horton
351cedf25f fix(common/web): fixes Node-worker-reliant input-processor integration tests 2023-06-05 12:19:02 +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
a7cba84127 chore(common): add test action to common/web/utils 2023-03-15 05:16:33 +07:00
Joshua A. Horton
f7d082981c chore: Merge branch 'master' into chore/feature-esmodule-master-update 2023-03-14 11:51:57 +07:00
Joshua A. Horton
f5e64a10a5 chore: Merge branch 'chore/common/ldml-ts-and-node-updates' into chore/feature-esmodule-master-update 2023-03-14 09:23:39 +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
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
ce864ea923 chore: update standard script prolog to use builtin instead of dirname 2023-02-22 11:04:15 +07:00
Marc Durdin
463c7ff907 chore: remove greadlink from standard script prolog 2023-02-22 10:43:06 +07:00
Joshua A. Horton
e6fe2b73bf refactor(common/web): headless keyboard loading + related unit-test patchups 2023-02-17 11:23:01 +07:00
Joshua A. Horton
58d2c3ba66 chore(common/web): TS import cleanup via subpaths 2023-02-16 16:05:45 +07:00
Joshua Horton
e6caff993a
Merge pull request #8100 from keymanapp/feat/web/osk-modularization-testing
feat(web): unit tests for the OSK module & spun-off formerly-OSK components 🧩
2023-02-06 09:28:56 +07:00
Joshua A. Horton
4bc1345f68 change(common/web): rely on tsc for declaration bundling 2023-01-31 10:31:25 +07:00
Joshua A. Horton
4f4842d67f feat(web): more OSK unit tests, makes ManagedPromise a web-util 2023-01-31 10:10:08 +07:00
Joshua A. Horton
588ccd49f5 change(web): util package modularization, bundling 2023-01-20 13:01:58 +07:00
Marc Durdin
1cecb87f7f feat(common): builder dependency support 2022-10-12 12:50:26 +11:00
Marc Durdin
a3129adedc refactor(common): rename builder_has_action and document
* `builder_has_action` renamed to `builder_start_action`
* `builder_report` renamed to `builder_finish_action`
* `builder_has_action` created to be a silent test for the action
* Added reasonably comprehensive documentation.
2022-09-21 10:21:35 +10:00
Joshua A. Horton
ccf2919bb4 feat(web): report-scoping no longer option; is perma-on 2022-09-20 10:56:01 +07:00
Joshua A. Horton
2f639ecc9c feat(common): builder report scoping option 2022-09-20 10:10:51 +07:00
Joshua A. Horton
2bea392baa feat(common): builder_-managed failure-trap 2022-09-20 09:23:38 +07:00
Joshua A. Horton
24092511bb refactor(web): reworks low-level module build scripts 2022-09-19 12:04:14 +07:00
Marc Durdin
767927bf16 chore(common): use /usr/bin/env bash
Fixes up scripts (except under /linux) to use `#!/usr/bin/env bash`
instead of `#!/bin/bash` or `#!/bin/sh` so that we don't end up with
the ancient version of bash supplied with macOS.

This became urgent with this PR, because of bash-4.xisms in
build-utils.sh, for example on line 572:

```
if [[ -v _builder_params[$e] ]]; then
```
2022-07-25 14:59:37 +10:00
jahorton
ea74a7f2ce chore(web): adds direct keyman-version compile to many build.sh's 2022-05-24 10:11:57 +07:00
Marc Durdin
be51c1b692 chore(web): chmod +x 2022-05-18 06:44:30 +10:00
Marc Durdin
05a4c33200 chore(web): move common/core/web to common/web
Relates to #5816.

Moves folders under common/core/web to common/web:

* input-processor -> common/web/input-processor
* keyboard-processor -> common/web/keyboard-processor
* tools/recorder -> common/web/recorder
* tools/sentry-manager -> common/web/sentry-manager
* utils -> common/web/utils

Updates scripts and configuration to point to new folders.
2022-05-18 06:01:03 +10:00
Marc Durdin
dfd5fad2c7 chore(common): move common/core/web to common/web and flatten 2022-05-17 11:15:22 +10:00
Renamed from common/core/web/utils/build.sh (Browse further)