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
Marc Durdin
07e497c4f0
docs(mac): add comment explaining multiple build steps
2025-05-05 06:05:13 +07:00
Marc Durdin
abb1eecddf
fix(mac): add version metadata after building tests
...
The mac build started to lose rewritten info.plist metadata in #11444
when tests were run after the build completed. When the tests were run,
xcodebuild would rewrite the info.plist, losing the rewritten metadata.
This patch updates the build script to write the metadata after unit
tests (if any) are run.
Fixes : #13791
2025-05-03 15:35:53 +07:00
Marc Durdin
f57aec64bb
Merge branch 'epic/linux-mcompile' into chore/merge-master-into-linux-mcompile
2025-02-13 20:37:44 +07:00
sgschantz
6a2c01e71f
chore(mac): suppress verbose bash script logging
2025-02-03 10:19:46 +07:00
Marc Durdin
19812d5ff8
Merge branch 'epic/linux-mcompile' into chore/merge-master-into-linux-mcompile
2024-10-25 09:31:06 +02:00
Marc Durdin
016a6f0225
chore(common): address review comments
2024-10-09 08:12:21 +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
Sabine
dd0ebc4325
chore(mac): add backslash to build.sh
2024-08-16 10:58:41 +02:00
Sabine
d926045725
chore(mac): add mcompile to build.sh
2024-08-16 10:47:13 +02:00
Joshua Horton
7008a3972e
chore(mac): replaces more 'typeset' uses
2024-05-29 08:28:18 +07:00
Joshua Horton
12cb94c5a3
change(mac): Apply suggestions from code review
...
Co-authored-by: Marc Durdin <marc@durdin.net>
2024-05-29 08:26:45 +07:00
Joshua Horton
e49d26ad9d
change(mac): relocates one shell var definition
2024-05-27 09:04:58 +07:00
Joshua Horton
9c4eb99a3a
fix(mac): non --debug test references 'release' artifacts
2024-05-27 08:42:10 +07:00
Joshua A. Horton
42d1cf3bd3
chore(mac): incorporates many review suggestions + comments
2024-05-20 08:39:25 +07:00
Joshua Horton
5cd03ca975
chore(mac): better builder_describe_outputs
2024-05-15 10:40:48 +07:00
Joshua Horton
fcacefff85
chore(mac): reorders the helper-func definitions
2024-05-15 10:16:05 +07:00
Joshua Horton
157da20397
fix(mac): clean should also clean installer
2024-05-15 10:09:36 +07:00
Joshua Horton
2f88afd9ad
chore(mac): patch for last commit
2024-05-15 10:02:04 +07:00
Joshua Horton
a979a3da85
chore(mac): converts mac's build.sh into a proper builder-based script
2024-05-15 09:48:16 +07:00
Marc Durdin
fb2fbd2684
chore(mac): eval and non-eval codesign
2023-12-13 13:14:55 +07:00
Marc Durdin
2b61bb8f47
fix(mac): improve code signing robustness
2023-12-13 12:08:29 +07:00
Shawn Schantz
a863bf1670
Merge branch 'feature-macos-core' into feature/core/add-core-wrapper
2023-07-31 14:22:17 +07:00
Marc Durdin
37a8f1316e
chore(mac): refactor notarization into sourced script
2023-06-19 07:32:14 +07:00
Marc Durdin
38845da761
chore(mac): notarytool json result parse
2023-06-14 09:04:24 +07:00
Marc Durdin
78c28945fb
chore(mac): notarytool json output
2023-06-14 06:54:36 +07:00
Marc Durdin
fc96f013aa
chore(mac): move from altool to notarytool
2023-06-14 06:27:16 +07:00
Marc Durdin
d36854e0fa
fix(mac): CONFIG not CONFIGURATION in build path
...
Fixes an error in mac/build.sh, arising from work in #8698 . Kinda proves
that the `-u` flag was worth setting globally!
2023-05-09 10:39:31 +07:00
Marc Durdin
127b0e0c43
chore(mac): fix missing build vars
2023-05-02 13:49:24 +07:00
Marc Durdin
2934a15dd7
chore(mac): fixup missing parameter test
2023-05-02 12:30:29 +07:00
Marc Durdin
a1e1f905cc
chore(mac): remove unused variable in build.sh
2023-04-28 14:23:21 +07:00
Darcy Wong
3ef331a87e
refactor(common): Update to build_help_html params
2023-03-10 12:49:37 +07:00
sgschantz
eba89e54cd
preliminary integration of keyman core with keyman engine for mac
2023-03-09 14:07:44 +07:00
Darcy Wong
6c2126431f
refactor(common): Make build-help into helper functions
2023-03-08 11:42:13 +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
a004978863
chore: use builder_heading, remove echo_heading
2023-02-20 09:17:51 +07:00
Marc Durdin
4d53a277f3
chore: use builder_die, remove fail
2023-02-20 09:15:38 +07:00
Marc Durdin
318b4d4478
chore: use builder_warn, remove warn
2023-02-20 08:56:31 +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
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
0730098236
chore(ios): update ios/macos build scripts to log scripts
...
Adds run-xcodebuild function to wrap xcodebuild calls to keep logging
and error handling consistent. Currently used only by the iOS build; the
macOS build has a corresponding execBuildCommand function which does
pretty much the same thing (changing that would belong in a separate PR
I think and low priority.)
2022-06-24 11:37:46 +10:00
Marc Durdin
f070bfbea6
fix(mac): use xcframework to support m1
2021-11-18 12:03:52 +11: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
Marc Durdin
637cc064da
fix(mac): show local help in app
...
Fixes #3979 .
Instead of loading help.keyman.com in the support frame, we now load a
local copy of the help. External links within the help will open in the
user's browser. This avoids issues of navigation to keyboard download
and other sites which won't work well.
Also, adds Back, Forward and Home buttons to the window so the user can
navigate more easily with mouse.
Finally, this means that the local help will always be synchronised with
the app version and brings the macOS help in line with the other
platforms.
2021-03-15 17:21:19 +11:00
Marc Durdin
9757e4330b
fix(mac): improve robustness of altool call
...
Handles temporary failures calling altool where Apple servers return
"Could not find the RequestUUID" for a few minutes post-upload.
Example log we are handling:
```
[04:50:44][Step 5/5] Zipping Keyman.app for notarization to /Users/mcdurdin/buildAgent/work/99b311828f4ee7c/keyman/mac/Keyman4MacIM/build/Release/Keyman.zip
[04:50:44][Step 5/5] Uploading Keyman.zip to Apple for notarization
[04:51:23][Step 5/5] <?xml version="1.0" encoding="UTF-8"?>
[04:51:23][Step 5/5] <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd ">
[04:51:23][Step 5/5] <plist version="1.0">
[04:51:23][Step 5/5] <dict>
[04:51:23][Step 5/5] <key>notarization-upload</key>
[04:51:23][Step 5/5] <dict>
[04:51:23][Step 5/5] <key>RequestUUID</key>
[04:51:23][Step 5/5] <string>fd45e30c-5a96-4d02-9196-0923d4e5e90f</string>
[04:51:23][Step 5/5] </dict>
[04:51:23][Step 5/5] <key>os-version</key>
[04:51:23][Step 5/5] <string>10.15.3</string>
[04:51:23][Step 5/5] <key>success-message</key>
[04:51:23][Step 5/5] <string>No errors uploading '/Users/mcdurdin/buildAgent/work/99b311828f4ee7c/keyman/mac/Keyman4MacIM/build/Release/Keyman.zip'.</string>
[04:51:23][Step 5/5] <key>tool-path</key>
[04:51:23][Step 5/5] <string>/Applications/Xcode.app/Contents/SharedFrameworks/ContentDeliveryServices.framework/Versions/A/Frameworks/AppStoreService.framework</string>
[04:51:23][Step 5/5] <key>tool-version</key>
[04:51:23][Step 5/5] <string>4.01.1182</string>
[04:51:23][Step 5/5] </dict>
[04:51:23][Step 5/5] </plist>
[04:51:23][Step 5/5]
[04:51:23][Step 5/5] Waiting 30 seconds for status
[04:51:55][Step 5/5] <?xml version="1.0" encoding="UTF-8"?>
[04:51:55][Step 5/5] <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd ">
[04:51:55][Step 5/5] <plist version="1.0">
[04:51:55][Step 5/5] <dict>
[04:51:55][Step 5/5] <key>os-version</key>
[04:51:55][Step 5/5] <string>10.15.3</string>
[04:51:55][Step 5/5] <key>product-errors</key>
[04:51:55][Step 5/5] <array>
[04:51:55][Step 5/5] <dict>
[04:51:55][Step 5/5] <key>code</key>
[04:51:55][Step 5/5] <integer>1519</integer>
[04:51:55][Step 5/5] <key>message</key>
[04:51:55][Step 5/5] <string>Could not find the RequestUUID.</string>
[04:51:55][Step 5/5] <key>userInfo</key>
[04:51:55][Step 5/5] <dict>
[04:51:55][Step 5/5] <key>NSLocalizedDescription</key>
[04:51:55][Step 5/5] <string>Could not find the RequestUUID.</string>
[04:51:55][Step 5/5] <key>NSLocalizedFailureReason</key>
[04:51:55][Step 5/5] <string>Apple Services operation failed.</string>
[04:51:55][Step 5/5] <key>NSLocalizedRecoverySuggestion</key>
[04:51:55][Step 5/5] <string>Could not find the RequestUUID.</string>
[04:51:55][Step 5/5] </dict>
[04:51:55][Step 5/5] </dict>
[04:51:55][Step 5/5] </array>
[04:51:55][Step 5/5] <key>tool-path</key>
[04:51:55][Step 5/5] <string>/Applications/Xcode.app/Contents/SharedFrameworks/ContentDeliveryServices.framework/Versions/A/Frameworks/AppStoreService.framework</string>
[04:51:55][Step 5/5] <key>tool-version</key>
[04:51:55][Step 5/5] <string>4.01.1182</string>
[04:51:55][Step 5/5] </dict>
[04:51:55][Step 5/5] </plist>
[04:51:55][Step 5/5]
[04:51:55][Step 5/5] altool failed with code 1
```
2020-11-26 11:53:35 +11:00
Marc Durdin
b4f08b3604
chore: fix parameters
2020-11-24 08:10:50 +11:00
Marc Durdin
f692af2545
chore: fix test
2020-11-24 08:08:33 +11:00
Marc Durdin
e41df6f838
fix(mac): re-sign files post plist update
...
Cleans up a bunch of bits and pieces around the build process and makes
sure that files are re-signed after we update the Info.plist file.
2020-11-24 08:02:16 +11:00
Marc Durdin
c2401514cb
fix(mac): support page and copyright
...
Fixes #3849 .
* Uses keyman-staging.com when on alpha or beta
* Updates copyright year at build time
* Fixes link to help documentation (/mac, not /macosx)
2020-11-20 05:55:53 +11:00