Commit graph

2703 commits

Author SHA1 Message Date
Marc Durdin
a81138c62b
Merge pull request #14449 from keymanapp/maint/common/14065-consolidate-builder-scripts
maint(common): consolidate builder scripts 🐸
2025-08-12 10:41:09 +07:00
Marc Durdin
f95b26ac1f
Merge pull request #14446 from keymanapp/maint/common/14275-rename-and-cleanup-shellHelperFunctions.sh
maint(common): rename shellHelperFunctions.sh to utils.inc.sh 🐸
2025-08-12 10:40:59 +07:00
Darcy Wong
827127d2e0
Merge pull request #14491 from keymanapp/chore/android/java-21-features
chore(android): Specify Java language version 21
2025-08-12 08:02:00 +07:00
Darcy Wong
40795d6ab7
Merge pull request #14474 from keymanapp/test/android/keycode-35
chore(android): Update keycode test app dependencies
2025-08-11 13:23:58 +07:00
Darcy Wong
3ceccfc054 chore(android): Specify Java language version 21
Resolves Gradle deprecation and language version warnings
```gradle
Java compiler version 21 has deprecated support for compiling with source/target version 8.
```

The `java.toolchain.languageVersion` syntax is a superset that covers the previous syntax `android.compileOptions`
2025-08-11 11:44:51 +07:00
Darcy Wong
1a1787c2b0 chore(android): Use API 35 2025-08-08 08:21:55 +07:00
Darcy Wong
476ee0a18e
Merge pull request #14472 from keymanapp/fix/android/init-keyboard-order
fix(android): Get default sizes before initializing keyboard
2025-08-08 07:44:36 +07:00
Darcy Wong
ce0ba9b512 chore(android): Update keycode test app dependencies
Update dependencies so project compiles in Android Studio
2025-08-07 15:22:10 +07:00
Darcy Wong
fddbba52e1 fix(android): Get default sizes before initializing keyboard 2025-08-07 07:18:48 +07:00
Darcy Wong
afd4256ce6 chore(common): Update Crowdin strings for Spanish 2025-08-06 11:36:52 +07:00
Marc Durdin
f394245636 maint(common): consolidate builder scripts
Clarifies the confusing builder.inc.sh / build-utils.sh distinction by
giving the scripts more appropriate names. Most build scripts should use
builder-full.inc.sh; some helper scripts can use builder-basic.inc.sh.
Documented in resources/build/README.md.

Renames:
* resources/build/builder.inc.sh to resources/build/builder-full.inc.sh
* resources/build/build-utils.sh to resources/build/builder-basic.inc.sh

Other changes:
* Moves Android-specific functions out of builder-basic.inc.sh and into
  android/build.sh.
* Renames functions in builder-basic.inc.sh

More functions may be moved from builder-basic.inc.sh into utils.inc.sh
or other scripts in the future.

Fixes: #14065
Build-bot: build all
Test-bot: skip
2025-08-02 08:11:24 +10:00
Marc Durdin
65158a0526 maint(common): rename shellHelperFunctions.sh to utils.inc.sh
Adds documentation for various functions, removes unused functions (a
couple of simple, very lightly used functions were unDRYed; these could
go back the other way across all shell scripts if necessary). TODO items
noted for follow-up refactoring.

Fixes: #14275
Relates-to: #14269
Build-bot: build all
Test-bot: skip
2025-08-02 06:58:40 +10:00
Darcy Wong
423e6c8dab
Merge branch 'master' into chore/android/chrome-min-95 2025-07-24 06:30:34 +07:00
Eberhard Beilharz
c228635ef4
chore(android): Merge branch 'master' into maint/android/14350_consolidatezip 2025-07-23 16:19:37 +02:00
Darcy Wong
c472b5a03d docs(android): Update system-requirements help on minimum Chrome version 2025-07-23 08:48:24 +07:00
Darcy Wong
6148495e27 refactor(android): Update minimum required Chrome version to 95.0
* Change from 57.0 to 95.0 as the minimum target version of Chrome
* Refactor Chrome version check to use constants, and updated applicable strings
2025-07-23 08:47:57 +07:00
Eberhard Beilharz
197ae290e1
Merge branch 'master' into refactor/android/refactorbuild.sh 2025-07-21 09:36:44 +02:00
Eberhard Beilharz
bb78c30c55
maint(android): consolidate creating zip file
Also set `RELEASE_OEM` and `RELEASE_OEM_FIRSTVOICES` at build time (if
`--fv` is passed) instead of relying it to be set in TC.

Fixes: #14350
Test-bot: skip
2025-07-14 15:55:18 +02:00
Eberhard Beilharz
852c9c5e9c
refactor(android): create functions for actions
Move action code in separate functions. Also cleanup some shellcheck
warnings.

Test-bot: skip
2025-07-14 15:03:21 +02:00
Eberhard Beilharz
a25202530e
maint(common): consolidate write_download_info functions
Fixes: #14259
Build-bot: skip
Test-bot: skip
2025-07-07 18:51:37 +02:00
Eberhard Beilharz
ecd3f9a1fa
maint(android): remove --ci parameter from android builds
`--ci` is deprecated since the current code discovers automatically
when we're building on CI, so we don't have to pass that option when
calling the `android/build.sh` script.

Also remove the option itself since we're no longer using it.

Build-bot: build android
Test-bot: skip
2025-07-03 17:43:22 +02:00
Darcy Wong
d9ed728970
Apply suggestions from code review
Co-authored-by: Eberhard Beilharz <ermshiperete@users.noreply.github.com>
2025-06-03 07:59:55 +07:00
Darcy Wong
ceb7f741ae fix(android): Fix typos 2025-06-02 13:35:17 +07:00
Darcy Wong
6e5e25b5ea fix(android): Updates to handle zip-excludes 2025-06-02 11:45:32 +07:00
Darcy Wong
86061d0523 maint(android): Add archive step to prep release artifacts 2025-06-02 10:28:21 +07:00
Joshua Horton
bfb97ca0c6 maint(web): upgrade Sentry to 8.55.0
Fixes: KEYMAN-WEB-RX
(It was produced artificially after this PR's changes to validate them.)

Cross-reference with https://github.com/getsentry/sentry-javascript/blob/master/docs/migration/v7-to-v8.md in regard to minimum supported versions.

@keymanapp-test-bot skip
2025-05-22 14:02:16 +07:00
Darcy Wong
9f73d242e9
Merge pull request #13978 from keymanapp/fix/android/check-internet-on-download
fix(android): Check network access before trying to download keyboard
2025-05-21 19:33:45 +07:00
Joshua Horton
e0fef02631 change(android): address PR review concerns 2025-05-20 13:30:38 +07:00
Joshua Horton
736b4a18fe feat(android): log installed keyboard count 2025-05-20 12:05:11 +07:00
Joshua Horton
87c9f7a0c3 feat(android): log active keyboard, model IDs with reported errors
To facilitate code investigation and issue repro attempts, we should log the
engine's current keyboard, language code, and model when reporting errors.

Fixes: KEYMAN-ANDROID-71V

(As this adds Sentry logging, I needed a reliable error with inspectable logs
for development.)

Test-bot: skip
2025-05-20 10:58:03 +07:00
Darcy Wong
0f03bbf929 fix(android): Check network access before trying to download keyboard
Display a Toast notification if network is unavailable before downloading from the keyboard page

Fixes: #13977
Fixes: KEYMAN-ANDROID-420
2025-05-19 11:46:21 +07:00
Eberhard Beilharz
b4cd5a24e4
Merge pull request #13898 from keymanapp/maint/android/13896_TIER
PR #13854 missed (at least) one place when renaming the variables from `TIER` to `KEYMAN_TIER`. This change fixes the release builds for Android.
    
Follow-up-of: #13854
Fixes: #13896
2025-05-13 09:25:02 +02:00
Eberhard Beilharz
a3b63008ef
maint(android): use new variable name KEYMAN_TIER
PR #13854 missed (at least) one place when renaming the variables from
`TIER` to `KEYMAN_TIER`. This change fixes the release builds for
Android.

Follow-up-of: #13854
Fixes: #13896
Test-bot: skip
2025-05-13 08:56:02 +02:00
Darcy Wong
f4c5c55773 fix(android): Revert setting java language version 2025-05-13 10:02:56 +07:00
Darcy Wong
2ad0c9cea7 maint(android): Set Java language version 21 2025-05-13 08:13:02 +07:00
Darcy Wong
eedfcf2f0e chore: Merge remote-tracking branch 'origin/master' 2025-05-13 07:05:25 +07:00
Darcy Wong
e061d3e755 docs(android): Update minimum versions docs 2025-05-09 09:43:54 +07:00
Darcy Wong
3990ab45db maint(android): Update Java and Gradle for KeyboardHarness 2025-05-09 09:33:00 +07:00
Darcy Wong
428178ce8c maint(android): Update Java and Gradle for Sample projects 2025-05-09 09:31:17 +07:00
Darcy Wong
80710a8303
Apply suggestions from code review
Co-authored-by: Joshua Horton <joshua_horton@sil.org>
2025-05-08 15:36:52 +07:00
Darcy Wong
5f0cd83d05 maint(android): Update Gradle to use Java 21 2025-05-08 12:57:17 +07:00
Eberhard Beilharz
4d81589f48
maint(common): use unique names for Keyman version variables
Previously the builder scripts defined a readonly `VERSION` environment
variable for the Keyman version. That caused problems when another
(external) script tried to define a `VERSION` variable. We encountered
this problem when trying to move the TC build steps of a configuration
into a single script (#13399) when we tried to source `~/.nvm/nvm.sh`.

This change uses a Keyman specific prefix for the version variables and
renames `VERSION` → `KEYMAN_VERSION` etc. Unfortunately these variables
are used in a lot of places, so this turned out to be a bit of a yak
shave.

Test-bot: skip
2025-05-07 18:46:51 +02:00
Darcy Wong
73dcf20085
Merge pull request #13772 from keymanapp/chore/android/builder-is-ci-build
chore(android): Use `builder_is_ci_build` rather than `--ci` flag
2025-05-01 07:16:11 +07:00
Darcy Wong
86740c9a91 fix(android): Show Dialog instead of Toast if package missing languages
If a keyboard package is missing associated languages, show an error dialog instead of Toast notification., This way we don't clutter Sentry with noise.

Fixes: #13782

Fixes: KEYMAN-ANDROID-251
2025-04-29 11:11:10 +07:00
Darcy Wong
40ae5ed2f5 fix(android): Revert ci build option. To deprecate in 20.0 2025-04-28 13:49:27 +07:00
Darcy Wong
ff1fb14768 fix(android/engine): Use build_is_ci_build for test action 2025-04-28 13:49:01 +07:00
Darcy Wong
b9f1f51a33 chore(android): Use builder_is_ci_build rather than --ci flag 2025-04-28 10:42:52 +07:00
Marc Durdin
9d4214c54c chore: Merge remote-tracking branch 'origin/master' into chore/merge-beta-to-master-release-prep 2025-04-22 13:16:21 +07:00
Darcy Wong
1994b273a1 fix(android): Apply review suggestions 2025-04-22 10:29:22 +07:00
Darcy Wong
2fb71a1898 fix(android): Check if RELEASE_OEM_FIRSTVOICES not set 2025-04-22 10:21:32 +07:00