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`
Removes a number of unused functions from the file, renames remaining
functions to match our builder script prefix patterns, removes unused
imports from various build scripts (e.g. Android).
Fixes: #14453
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
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
Using Android Studio's tool to convert the top level RelativeLayout to ConstraintLayout. This way, the edge-to-edge doesn't cover up the top and bottom portions of the app.
Also apply insets so app and keyboard fit in usable areas.
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: #13854Fixes: #13896
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: #13854Fixes: #13896
Test-bot: skip
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
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
Refactor mayPredictOverride so the banner toggle is handled independently for `KeyboardType.KEYBOARD_TYPE_INAPP` and `KeyboardType.KEYBOARD_TYPE_SYSTEM` keyboards.
Pre-existing override API calls are now for `KeyboardType.KEYBOARD_TYPE_SYSTEM`
# 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