Commit graph

138 commits

Author SHA1 Message Date
Shawn Schantz
f3f5da48d0 feat(mac): upload dsyms and remove double-click support
Some checks are pending
Keyman Build Summary / Summarize build status checks (push) Waiting to run
2026-09-15 21:34:27 -04:00
Shawn Schantz
63f1790662 feat(mac): remove old config UI
now that the Keyman Configuration app is available
to install and manage keyboard packages, delete
the old configuration interface accessed through
the Keyman menu on the input method
2026-09-15 14:29:05 -04:00
Keyman Server
ffad04af51
Merge branch 'epic/mac-config' into auto/A19S36-merge-base-into-mac-config 2026-08-30 06:57:51 +02:00
Marc Durdin
afd4d7dcc9 docs(mac): refresh build/setup docs and remove APPSTORECONNECT_PROVIDER
Env var `APPSTORECONNECT_PROVIDER` is unused, so remove it from docs and
requirements.

Refresh the build and setup docs to reflect modern XCode requirements
more accurately and clarify use of `--quick` option for `install`.

Test-bot: skip
2026-08-25 07:51:04 +02:00
Shawn Schantz
6e7fedc1d5
Merge branch 'epic/mac-config' into feat/mac/detect-install 2026-06-16 11:19:56 -04:00
Shawn Schantz
51bc5cc0a6 feat(mac): write keyman version to config app info.plist
Some checks failed
Keyman Build Summary / Summarize build status checks (push) Has been cancelled
2026-06-12 17:31:53 -04:00
Shawn Schantz
ddb4c02fef feat(mac): remove year from copyright string
Some checks are pending
Keyman Build Summary / Summarize build status checks (push) Waiting to run
remove obsolete CFBundleGetInfoString from info.plist
change copyright displayed in info dialog to SIL Global
2026-06-12 15:13:19 -04:00
Shawn Schantz
916e9f7219
Merge branch 'epic/mac-config' into feat/mac/new-app 2026-06-01 13:54:51 -04:00
Shawn Schantz
a19db999e9 feat(mac): move upload directory
Some checks failed
Keyman Build Summary / Summarize build status checks (push) Has been cancelled
2026-05-29 15:45:49 -04:00
Shawn Schantz
b77b255ac6 feat(mac): throw error for missing kmx file
add TODO comments and change their format
2026-05-29 11:44:49 -04:00
Shawn Schantz
3fb3c82f73 feat(mac): rework error handling when loading package
Some checks are pending
Keyman Build Summary / Summarize build status checks (push) Waiting to run
define errors for parsing issues and data validation
handle errors during loading of data at launch
2026-05-28 12:59:56 -04:00
Shawn Schantz
00159d1d96 feat(mac): installer build script cleanup
Some checks are pending
Keyman Build Summary / Summarize build status checks (push) Waiting to run
2026-05-27 17:09:07 -04:00
Shawn Schantz
a998fbcde4 feat(mac): changed installer build script to standard pattern
Some checks are pending
Keyman Build Summary / Summarize build status checks (push) Waiting to run
2026-05-26 21:32:37 -04:00
Marc Durdin
c07b40947b chore(ios): add extra logging to xcodebuild
Attempt to get more logs that help us to trace issues in build script
phases.

Test-bot: skip
2026-05-18 16:45:08 +02:00
Shawn Schantz
93b190d3c5 feat(mac): add new local deploy script
moves input method and config app to correct locations
work needed to codesign properly
2026-04-21 10:53:17 -04:00
Shawn Schantz
fe562bddca feat(mac): send output to same folder as previously
Some checks are pending
Keyman Build Summary / Summarize build status checks (push) Waiting to run
.dmg was published in Keyman4MacIM and that is where
teamcity configuration for the project expects it

write installer package to the same location so
that all builds get the artifact from the same directory
2026-04-20 11:12:21 -04:00
Shawn Schantz
9aaf420974 feat(mac): change upload destination for installer package
Some checks failed
Keyman Build Summary / Summarize build status checks (push) Has been cancelled
2026-03-25 12:41:00 -04:00
Shawn Schantz
eabef231cf feat(mac): copy -R to preserve symbolic links installing input method
The postinstall script uses cp -R instead of cp -r
when copying the input method to the Input Methods folder

Also made changes to use an environment variable to
designate the installer signing certificate, and
updated the export options plist to use that same
certificate for signing the installer package.
2026-03-24 14:46:55 -04:00
Shawn Schantz
4048b64224 feat(mac): build and notarize installer package
Some checks failed
Keyman Build Summary / Summarize build status checks (push) Has been cancelled
not tested with CI
issue with signing conflict between architectures
need to remove earlier signing prior to creation of
installer package
2026-03-20 20:52:15 -04:00
Shawn Schantz
bbfab358a6 feat(mac): update build script to build Config app
Some checks are pending
Keyman Build Summary / Summarize build status checks (push) Waiting to run
builds and cleans Config app
does not yet include Config app in install script
2026-03-19 15:39:52 -04:00
Shawn Schantz
b8a93e521b feat(mac): progress toward installer creation
input method installer created but still need to add
Keyman Configuration app to the installer and notarize it
2026-03-19 14:43:08 -04:00
Shawn Schantz
19b384ac47 feat(mac): fix error in publish step
Some checks are pending
Keyman Build Summary / Summarize build status checks (push) Waiting to run
2026-03-17 12:24:38 -04:00
Shawn Schantz
6796f15f66 feat(mac): remove code sign status check
possibly causing build failures
2026-03-17 12:13:51 -04:00
Shawn Schantz
433b000713 feat(mac): add logging for build level and code signing status
temporary logging to fix issue with ci builds
2026-03-17 11:43:37 -04:00
Shawn Schantz
725e91b52b feat(mac): changed build.sh to get app groups working
Some checks failed
Keyman Build Summary / Summarize build status checks (push) Has been cancelled
includes plenty of debug and test code but should work
writes a test file out to the Group Container
2026-03-13 20:44:21 -04:00
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
b061944223 maint(mac): use versioned filenames for PR artifacts
Relates-to: #10521
Test-bot: skip
Build-bot: skip release:mac
2025-09-08 12:44:57 +02:00
Marc Durdin
0d27ac91f7 maint(mac): use mac_ prefix for functions in mac.inc.sh
* Also renames resources/environment.sh to resources/build/mac/xcode-environment.inc.sh.
* Adds a few more exclusions to linux/scripts/dist.sh

Fixes: #14478
Test-bot: skip
Build-bot: build
2025-08-20 05:40:32 +02:00
Marc Durdin
3cdce9b371
Merge pull request #14467 from keymanapp/maint/mac/14287-skip-publishing-on-build-buildlevel
maint(mac): skip unnecessary network steps when buildLevel is build 🦌
2025-08-19 15:42:59 +07:00
Marc Durdin
4314088071 maint(mac): only publish sentry for CI builds 2025-08-18 11:28:08 +02:00
Marc Durdin
8caf66ce9e maint(mac): address review comments 2025-08-12 05:27:48 +02:00
Marc Durdin
c3ce6adfaf
Merge branch 'maint/ios/14286-skip-publishing-on-build-buildlevel' into maint/mac/14287-skip-publishing-on-build-buildlevel 2025-08-07 11:44:32 +07:00
Marc Durdin
637b59d2e2 maint(mac): skip unnecessary network steps when buildLevel is build
Skips sentry upload, notarization, and code signing.

Fixes: #14287
2025-08-06 11:09:47 +08:00
Marc Durdin
f03be501a6 maint(common): reorganize mac/ios build script includes
Move mac-specific build scripts and functions into our established
patterns for scripts under resources/build:

* new mac/mac.inc.sh for mac-specific functions, from mac-utils.inc.sh,
  utils.inc.sh, builder-basic.inc.sh
* move other mac-specific scripts into mac/

Relates-to: #14065
Build-bot: build
Test-bot: skip
2025-08-05 12:57:32 +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
Eberhard Beilharz
bcc6ecc3eb
maint(mac): consolidate write-download_info
Mac had a separate `write-download_info.sh` script that duplicates what
is done in the `write_download_info` function. Also remove the unused
`dl_info_display_usage` function that is unused and seems to be related
to the script we're deleting.

Test-bot: skip
2025-07-09 19:12:29 +02:00
Marc Durdin
dd712333e5 maint(mac): make make-km-dmg.sh less quiet
When build.sh was converted to a builder-style script, the -quiet flag
was then passed into make-km-dmg.sh, which meant that it no longer gave
valuable diagnostic output. This returns the script to default levels of
output (there is also a -verbose or -debug level we could use). The
variable QUIET_FLAG appears to have been used only in that one place.
2025-06-03 05:58:48 +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
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