Commit graph

66 commits

Author SHA1 Message Date
Marc Durdin
377b1056ec maint(resources): rename KEYMAN_VERSION_FOR_PR_FILENAME
Address review comment from #14703.

Test-bot: skip
Build-bot: skip
Relates-to: #14703
Relates-to: #10521
2025-09-10 11:17:41 +02:00
Marc Durdin
0cdcbd7905 maint(android): tweak output path for android apks
Build-bot: skip build:android,developer
2025-09-08 15:31:35 +02:00
Marc Durdin
9997ef7fff maint(android): rework android file versioning 2025-09-08 13:25:33 +02:00
Darcy Wong
eeefd6bdc0 fix(android): Remove flatDir from Gradle file 2025-08-22 08:56:44 +07:00
Darcy Wong
b0079ad39f
Merge branch 'master' into fix/android/configure-output 2025-08-21 08:17:58 +07:00
Darcy Wong
fe8ba3b472 fix(android): Use constants for configure outputs 2025-08-21 08:13:05 +07:00
Marc Durdin
2b0db1eb51
Merge pull request #14490 from keymanapp/maint/android/14284-publish-sentry-symbols-on-release-buildlevel
maint(android): publish symbols to Sentry on release buildLevel 🦌
2025-08-20 20:20:25 +07:00
Darcy Wong
77b56c5018 maint(android): Cleanup builder_describe_outputs for configure action 2025-08-20 12:49:42 +07:00
Marc Durdin
1bb111edea maint(android): publish symbols to Sentry on release buildLevel
Refactor the publish action for Android to ensure that symbols are
published to Sentry for any 'release' buildLevel -- test releases and
alpha/beta/stable releases.

Splits the publish action into `publish-symbols` and
`publish-play-store` so that they can be run separately as needed, as
symbols can be published for test builds, but play store is only touched
for actual releases.

Note: examining the build logs and Sentry server state, it looks like
the publish to Sentry has not been happening for quite a while, so this
commit refactors the Sentry publishing code and establishes the
fv-keyboards publish target also.

Fixes: #14284
Build-bot: release
Test-bot: skip
2025-08-11 05:10:28 +02:00
Marc Durdin
f3fb3ac87b maint(common): move build-utils-ci.inc.sh to ci/ci-publish.inc.sh
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
2025-08-05 12:54:56 +10: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
eedfcf2f0e chore: Merge remote-tracking branch 'origin/master' 2025-05-13 07:05:25 +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
b9f1f51a33 chore(android): Use builder_is_ci_build rather than --ci flag 2025-04-28 10:42:52 +07:00
Darcy Wong
d4b0850fde Merge branch 'fix/android/builder-publish' into fix/android/conditional-sentry 2024-09-10 14:08:02 +07:00
Darcy Wong
aa816a4e7a
Apply suggestions from code review
Co-authored-by: Marc Durdin <marc@durdin.net>
2024-09-10 10:41:08 +07:00
Darcy Wong
d99d4d80ff fix(android): Separate publishSentry Gradle task to publish symbols 2024-09-04 10:36:09 +07:00
Darcy Wong
72c9754b43 chore(android): rename shell variable to PUBLISH_FLAGS 2024-09-03 13:06:05 +07:00
Darcy Wong
3de0aaaca4 refactor(android): Move build-publish.sh to builder script 2024-09-03 10:22:19 +07:00
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
Darcy Wong
cd2d2b794b fix(android): Move cp from configure to build actions 2023-03-31 13:22:28 +07:00
Darcy Wong
ff6d5dbd44 chore(android): Update Android projects for Java 11 2023-03-29 09:46:27 +07:00
Darcy Wong
1a8d047ba1
Apply suggestions from code review
Co-authored-by: Marc Durdin <marc@durdin.net>
2023-03-13 11:13:14 +07:00
Darcy Wong
3b870aba02 Merge remote-tracking branch 'origin/master' into refactor/android/builder-script 2023-03-10 14:46:48 +07:00
Darcy Wong
3ef331a87e refactor(common): Update to build_help_html params 2023-03-10 12:49:37 +07:00
Darcy Wong
6c2126431f refactor(common): Make build-help into helper functions 2023-03-08 11:42:13 +07:00
Darcy Wong
78adb337a1 refactor(android): Use builder_is_debug_build 2023-03-08 09:57:36 +07:00
Darcy Wong
55349e32cf fix(android): Have top level builder handle cleaning up upload 2023-03-03 13:21:16 +07:00
Darcy Wong
749a734e47 fix(android/app): Address more review comments
* restore directory after `convert_markdown_to_html`
2023-03-03 10:56:11 +07:00
Darcy Wong
6ab7068e0c
Apply suggestions from code review
Co-authored-by: Marc Durdin <marc@durdin.net>
2023-03-03 07:57:42 +07:00
Darcy Wong
50c745933e fix(android/app): Try to fix configure step 2023-02-28 09:44:56 +07:00
Darcy Wong
f70044029c fix(android): Configure path 2023-02-28 08:41:55 +07:00
Darcy Wong
d2030767c7 refactor(android/app): Update Gradle for final apk name 2023-02-27 11:46:05 +07:00
Darcy Wong
90b1bc82f2 fix(android): Include config in path to keyman-engine.aar 2023-02-27 11:42:24 +07:00
Darcy Wong
475d5649aa fix(android/app): Configure step 2023-02-24 14:03:15 +07:00
Darcy Wong
e1820013c6 fix(android): Fix output paths 2023-02-24 13:46:00 +07:00
Darcy Wong
7a1f80e70d fix(android): Update configure actions 2023-02-24 11:33:26 +07:00
Darcy Wong
0b5ef22a99 refactor(android/app): Update builder for KMAPro 2023-02-23 15:40:05 +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
Marc Durdin
067028cec2 chore: revise tag variable name to VERSION_GIT_TAG
Introduce new $VERSION_GIT_TAG environment variable, and update all
references to release@version in all projects to use the new variable.
2023-01-21 17:02:50 +07:00
Marc Durdin
34ece2182d fix(common): update sentry release identifiers to support semver
Fixes #7895.

This should mean that Sentry reports start to track semantic versions. I
have reviewed each project and I _think_ I've captured all the locations
where we need to construct release identifiers. Note that one of them
was fixed from a plain version number.

Docs on release format: https://docs.sentry.io/platforms/node/guides/serverless-cloud/configuration/releases/#bind-the-version
2023-01-17 17:04:24 +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
Marc Durdin
5fac633fb6 fix(common): build script help param
When working on a new build script, I tripped over the `-?` question
mark help parameter here, as it needs to be escaped. Opted to fix all
the instances in our scripts, although AFAICT there would not have been
current bugs arising from this, as there were no conflicting one
character options lower in the case list.
2021-05-28 09:50:40 +10:00
Darcy Wong
74c39a3369 change(android): Cleanup help files
* Remove unused context/menu_*.md files
* Move build-help.sh and htmllink.lua out of android/help/
* Update build scripts and README accordingly
2021-02-08 08:37:52 +07:00
Darcy Wong
54cf842e7c fix(android/app): Have KMAPro build script generate offline help 2021-02-03 08:02:52 +07:00
Darcy Wong
929ac75372 fix(android/app): Add -upload-sentry option for local KMAPro 2020-11-05 16:17:06 +07:00