Commit graph

1384 commits

Author SHA1 Message Date
Marc Durdin
43e7d32004
Merge pull request #12472 from keymanapp/feat/common/12347-check-markdown-links
test(common): add markdown link check test for product documentation
2024-10-11 03:23:23 +02:00
Eberhard Beilharz
3232c2a1a1
chore(common): allow to run build.sh scripts in bashdb debugger
One of the traps prevents debugging a build script in
the `bashdb` debugger. This change skips trapping `err` and `exit`
when run under a debugger and so allows to debug the script with `bashdb`.
2024-10-09 15:46:37 +02:00
Marc Durdin
eed9b81284 chore(common): address review comments 2024-10-09 08:16:16 +07:00
Marc Durdin
016a6f0225 chore(common): address review comments 2024-10-09 08:12:21 +07:00
Marc Durdin
cccf3d5dc9 chore(common): avoid adding .md extension to files that exist already 2024-10-08 15:01:21 +07:00
Marc Durdin
2e059e9730
Merge branch 'master' into feat/common/12347-check-markdown-links 2024-10-07 09:41:45 +02:00
Eberhard Beilharz
4540a501f6
docs(common): mention KEYMAN_USE_NVM in minimum versions doc
Also fix a typo in a comment in a script file.
2024-09-30 16:03:03 +02:00
Marc Durdin
b209cd2505 chore(common): check-markdown tweaks 2024-09-26 08:36:56 -07:00
Marc Durdin
640d3e5096 test(developer): add markdown link check test for product documentation
Adds check-markdown package that parses .md files, looks for links and
images, and verifies that they are valid links (for internal links).
2024-09-25 15:51:32 -07:00
Marc Durdin
18d31a86c8
Merge branch 'refactor/common/12347-reorg-help' into refactor/developer/12347-move-help-in-repo 2024-09-26 00:47:11 +02:00
Marc Durdin
4b1e137a53 chore(common): Merge branch 'master' into refactor/common/12347-reorg-help 2024-09-25 15:46:02 -07:00
Eberhard Beilharz
03e2ba0a76
Merge pull request #12439 from keymanapp/chore/common/offline
chore(common): Allow to build offline
2024-09-20 21:16:28 +07:00
Eberhard Beilharz
389fb4f9ee
chore(common): Allow to build offline
A lot of the `configure` actions rely on node dependencies and so call
`npm install`. Without a internet connection this hangs forever, even
if you had successfully installed the dependencies before and nothing
changed since then. This change adds a `--offline` parameter that passes
`--prefer-offline` to npm, which causes npm to use the cached
dependencies.

Also sets the `MESON_PACKAGE_CACHE_DIR` environment variable so that all
(sub-)projects share the same package cache dir. This will speed up regular
builds a bit (e.g. `developer/src/kmcmplib` and `core` both have `icu4c`
as a dependency), but will also help with offline builds.

`MESON_PACKAGE_CACHE_DIR` requires Meson 1.3, however older Meson
versions ignore this environment variable and simply continue to use a
cache per subproject, so will continue to work (minus offline builds).
2024-09-18 22:40:20 +02:00
Eberhard Beilharz
44116b70dd
chore(common): detect ssh remotes in git hooks
Sometime ago we lost the ability to detect git remotes that use ssh
(git@github.com:keymanapp/keyman.git) and we only detect remotes that
use https (https://github.com/keymanapp/keyman.git). This change restores
this ability.

Also add some empty lines between the different parts of the error message.

# Keyman Conventional Commit suggestions:
#
# - Link to a Sentry issue with git trailer:
#     Fixes: _MODULE_-_ID_
# - Give credit to co-authors:
#     Co-authored-by: _Name_ <_email_>
# - Use imperative, present tense ('attach' not 'attaches', 'attached' etc)
# - Don't include a period at the end of the title
# - Always include a blank line before trailers
# - More: https://github.com/keymanapp/keyman/wiki/Pull-Request-and-Commit-workflow-notes
2024-09-17 11:38:41 +02:00
Marc Durdin
e376537720 chore(developer): upload help to help.keyman.com 2024-09-16 12:42:21 +07:00
Marc Durdin
0e5fbb225d refactor(common): fixup help path script references
Relates-to: #12347
2024-09-16 06:19:14 +07:00
Darcy Wong
6b0d8ddec1
Merge pull request #12393 from keymanapp/chore/common/unicode-16
chore(common): Update to Unicode 16.0
2024-09-12 11:25:07 +07:00
Darcy Wong
e966a8af3c chore(common): Download Unicode 16.0 characters 2024-09-11 09:34:57 +07:00
Darcy Wong
5bfb93e618 chore(common): Update KEYMAN_VERSION_UNICODE to 16.0.0 2024-09-11 09:33:30 +07:00
Eberhard Beilharz
a9b9c4d016
refactor(web): move common/models to web/src/engine/predictive-text
Fixes: #12133
2024-09-10 17:45:22 +02:00
Marc Durdin
52486e32c2
Merge pull request #12286 from keymanapp/chore/windows/support-typo
chore(windows): fix typo in environment.inc.sh
2024-08-29 09:47:01 +02:00
Marc Durdin
f3461b3307 chore(windows): fix typo in environment.inc.sh
Co-authored-by: 58423624+rc-swag@users.noreply.github.com
2024-08-26 12:59:57 +07:00
Joshua A. Horton
ad91f6394b chore(web): Merge branch 'master' into feat/web/wordbreaker-property-data-gen 2024-08-26 08:46:09 +07:00
Marc Durdin
9a8b6d1279 chore(windows): remove remaining unused Makefiles
Fixes: #12247
2024-08-23 18:12:06 +02:00
Marc Durdin
47b952f960 chore(common): npm install should be in emscripten folder 2024-08-23 07:10:48 +02:00
Marc Durdin
d461c4872a chore(common): use npm install in emsdk update 2024-08-23 07:04:54 +02:00
Joshua A. Horton
8737709b40 chore(web): Merge branch 'master' into feat/web/wordbreaker-property-data-gen 2024-08-23 08:29:20 +07:00
Marc Durdin
b0bd95d276 chore(common): allow build agents to automatically select emsdk version
The build agents will now automatically install and activate the
Emscripten version found in minimum-versions.inc.sh when configuring
WASM projects. For developer machines, this behaviour can be enabled by
setting the environment variable `KEYMAN_USE_EMSDK` (recommended).

This will be back-ported to 17.0 so that we can ensure that all builds
use a consistent Emscripten version.
2024-08-21 15:02:18 +02:00
Eberhard Beilharz
ab3722ecfa
fix(core): look for emcc instead of emcc.py on Linux and Mac
`emcc.py` is not marked as executable in emcripten's git repo so the
build failed when trying to locate emscripten. However, it turns out
that `emcc` is marked as executable, so we use that instead.

On Windows however, we still need to use `emcc.py` because otherwise
Meson won't detect it as valid compiler.
2024-08-20 15:52:52 +02:00
dependabot[bot]
6fad148466
chore(deps): bump semver from 7.5.4 to 7.6.0
Bumps [semver](https://github.com/npm/node-semver) from 7.5.4 to 7.6.0.
- [Release notes](https://github.com/npm/node-semver/releases)
- [Changelog](https://github.com/npm/node-semver/blob/main/CHANGELOG.md)
- [Commits](https://github.com/npm/node-semver/compare/v7.5.4...v7.6.0)

---
updated-dependencies:
- dependency-name: semver
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-08-14 11:22:58 +00:00
Eberhard Beilharz
196300a418
fix(common): show description even if child projects specifies path
Previously we didn't show the description for the target if the target
definition specified a an alternate folder, e.g. `:app=src/app`. This
change fixes this.
2024-08-09 12:20:36 +02:00
Marc Durdin
86fd36a713
Merge pull request #12117 from keymanapp/chore/developer/build-ci-linux-mac
chore(developer): start building Developer on linux,mac
2024-08-09 18:57:38 +10:00
Joshua A. Horton
e5387f0947 change(web): Unicode data-fetcher build.sh -> download.sh 2024-08-08 13:07:56 +07:00
Marc Durdin
52288e247b chore(developer): add build triggers for Linux, macOS 2024-08-08 05:25:25 +07:00
Marc Durdin
57d4aeef97 feat(common): add top-level build.sh
This top-level builder script will build as many projects as are
possible to build on the current platform. For example, iOS and macOS
projects can only be built on macOS; Windows and parts of Developer can
only be built on Windows.

Relates-to: #6268
2024-08-07 10:46:39 +07:00
Marc Durdin
67cff9c878 chore(common): sort bash arrays before asserts in unit tests 2024-08-07 10:09:05 +07:00
Marc Durdin
118a947882 chore(common): add support for build target platform exclusions
Add `builder_describe_platform` function to builder.inc.sh, associated
documentation and unit test, and use it in Developer and Common build
scripts.

Relates-to: #11755
2024-08-07 09:25:56 +07:00
Joshua A. Horton
242eb6c0ad fix(common): restore, preserve unicode-copyright.txt 2024-08-06 14:55:30 +07:00
Joshua A. Horton
fd8b260865 change(common/models): adds unicode-data downloader 2024-08-06 14:46:13 +07:00
Marc Durdin
5abb28e29b chore(common): add data versions to minimum-versions.inc.sh
This adds references to various data sources such as Unicode. At
present, this is informational only, not used by any scripts, but the
intent is that in the future we reference this for any scripted data
updates.
2024-08-06 13:26:39 +07:00
Marc Durdin
86d0224d7a docs(common): minimum versions 2024-08-01 06:20:46 +07:00
Marc Durdin
12ee391895 chore(common): use node v22.5.1 2024-08-01 05:10:41 +07:00
Marc Durdin
fc4df037bb chore(common): use nvm to select version of node for builds
Used by default only on build agents. See docs/build/node.md and
resources/build/_builder_nvm.sh for documentation of this change.

Fixes: #11376
2024-08-01 05:09:08 +07:00
Marc Durdin
04037e0225 chore(common): updated stats script to support end date/sprint 2024-07-25 08:47:50 +07:00
Joshua A. Horton
d07fa7e953 chore(common): eliminate ts-node ref from most subpackages 2024-06-10 10:07:58 +07:00
Joshua A. Horton
e527317d3a fix(common): remove subpackge entries for older TS version 2024-06-10 09:14:03 +07:00
Marc Durdin
466edc30fc chore: add cherry-pick information in commit messages
Fixes: #11702
2024-06-06 08:56:42 +07:00
Joshua Horton
e9ccd6fb4b
Merge pull request #11451 from keymanapp/chore/common/retry-npm-ci
chore(common): adds retry mechanism for build script npm ci calls
2024-06-06 08:10:04 +07:00
Joshua A. Horton
c91ffb95cd fix(common): better error-code capture 2024-06-05 13:03:13 +07:00
Joshua Horton
e2e8ed3491
change(common): emit error-code on retry fail
Co-authored-by: Marc Durdin <marc@durdin.net>
2024-06-05 12:46:14 +07:00