-
-
Notifications
You must be signed in to change notification settings - Fork 111
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
chore(ios,mac): support build on Apple Silicon using Xcode 15.3 #11302
Changes from all commits
ad6095a
985d49b
534741a
2880661
00e850c
f40e1ff
ebb6631
99be7c9
e883802
1a86ed2
a59850e
ec64a98
fbd4367
e7b2855
3abcb35
42e54da
f9c699e
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -950,7 +950,7 @@ | |
); | ||
runOnlyForDeploymentPostprocessing = 0; | ||
shellPath = "/usr/bin/env bash"; | ||
shellScript = "verstr1=$(/usr/libexec/PlistBuddy -c \"Print CFBundleShortVersionString\" \"$SRCROOT/Keyman-Info.plist\")\nverstr2=$(/usr/libexec/PlistBuddy -c \"Print CFBundleVersion\" \"$SRCROOT/Keyman-Info.plist\")\n/usr/libexec/PlistBuddy \"$SRCROOT/Settings.bundle/Root.plist\" -c \"set PreferenceSpecifiers:0:DefaultValue $verstr1 (build $verstr2)\"\n\nif which swiftlint >/dev/null; then\n swiftlint --config ../../.swiftlint.yml\nelse\n echo \"warning: SwiftLint not installed, download from https://github.com/realm/SwiftLint\"\nfi\n"; | ||
shellScript = "#verstr1=$(/usr/libexec/PlistBuddy -c \"Print CFBundleShortVersionString\" \"$SRCROOT/Keyman-Info.plist\")\n#verstr2=$(/usr/libexec/PlistBuddy -c \"Print CFBundleVersion\" \"$SRCROOT/Keyman-Info.plist\")\n#/usr/libexec/PlistBuddy \"$SRCROOT/Settings.bundle/Root.plist\" -c \"set PreferenceSpecifiers:0:DefaultValue $verstr1 (build $verstr2)\"\n\nif which swiftlint >/dev/null; then\n swiftlint --config ../../.swiftlint.yml\nelse\n echo \"warning: SwiftLint not installed, download from https://github.com/realm/SwiftLint\"\nfi\n"; | ||
showEnvVarsInLog = 0; | ||
}; | ||
CE002CB32408B372002026CE /* Run Script - upload dsyms to sentry */ = { | ||
|
@@ -970,7 +970,7 @@ | |
); | ||
runOnlyForDeploymentPostprocessing = 0; | ||
shellPath = "/usr/bin/env bash"; | ||
shellScript = ". \"$KEYMAN_ROOT/resources/build/xcode-utils.sh\"\n\nif [ ${UPLOAD_SENTRY:-false} = true ]; then\n # Calls resource script to perform the dSYM upload\n phaseSentryDsymUpload \"keyman-ios\"\nfi\n"; | ||
shellScript = ". \"$KEYMAN_ROOT/resources/build/xcode-utils.sh\"\n\nif [ ${UPLOAD_SENTRY:-false} = true ]; then\n # Calls resource script to perform the dSYM upload\n \"$KEYMAN_ROOT/resources/build/xcode-wrap.sh\" \"$KEYMAN_ROOT/resources/build/sentry-dsym-upload.sh\"\nfi\n"; | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. The |
||
}; | ||
CE06AA671F161422006D91C3 /* Run Script */ = { | ||
isa = PBXShellScriptBuildPhase; | ||
|
@@ -1002,7 +1002,7 @@ | |
); | ||
runOnlyForDeploymentPostprocessing = 0; | ||
shellPath = "/usr/bin/env bash"; | ||
shellScript = ". \"$KEYMAN_ROOT/resources/build/xcode-utils.sh\"\n\n# Calls resource script to update build products' versioning.\n# true: applies VERSION_WITH_TAG to custom KeymanVersionWithTag plist member used for in-app display\nphaseSetBundleVersions true\n\n# Also updates the version string for Settings\nsetSettingsBundleVersion\n"; | ||
shellScript = "\"$KEYMAN_ROOT/resources/build/xcode-wrap.sh\" \"$KEYMAN_ROOT/resources/build/set-bundle-versions-and-settings-tagged.sh\"\n"; | ||
showEnvVarsInLog = 0; | ||
}; | ||
CED3CFDA240E49DF001540A1 /* ShellScript */ = { | ||
|
@@ -1020,7 +1020,7 @@ | |
); | ||
runOnlyForDeploymentPostprocessing = 0; | ||
shellPath = "/usr/bin/env bash"; | ||
shellScript = ". \"$KEYMAN_ROOT/resources/build/xcode-utils.sh\"\n\n# Calls resource script to update build products' versioning.\nphaseSetBundleVersions\n"; | ||
shellScript = "\"$KEYMAN_ROOT/resources/build/xcode-wrap.sh\" \"$KEYMAN_ROOT/resources/build/set-bundle-versions-untagged.sh\"\n"; | ||
showEnvVarsInLog = 0; | ||
}; | ||
/* End PBXShellScriptBuildPhase section */ | ||
|
mcdurdin marked this conversation as resolved.
Show resolved
Hide resolved
|
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,24 +1,24 @@ | ||
PODS: | ||
- Sentry (5.2.1): | ||
- Sentry/Core (= 5.2.1) | ||
- Sentry/Core (5.2.1) | ||
- Sentry (8.24.0): | ||
- Sentry/Core (= 8.24.0) | ||
- Sentry/Core (8.24.0) | ||
|
||
DEPENDENCIES: | ||
- Sentry (from `https://github.com/getsentry/sentry-cocoa.git`, tag `5.2.1`) | ||
- Sentry (from `https://github.com/getsentry/sentry-cocoa.git`, tag `8.24.0`) | ||
|
||
EXTERNAL SOURCES: | ||
Sentry: | ||
:git: https://github.com/getsentry/sentry-cocoa.git | ||
:tag: 5.2.1 | ||
:tag: 8.24.0 | ||
|
||
CHECKOUT OPTIONS: | ||
Sentry: | ||
:git: https://github.com/getsentry/sentry-cocoa.git | ||
:tag: 5.2.1 | ||
:tag: 8.24.0 | ||
|
||
SPEC CHECKSUMS: | ||
Sentry: 7d075cae43a9a518fdd51e258b6212f0527c51cd | ||
Sentry: 2f6baed15a3f8056b875fc903dc3dcb2903117f4 | ||
|
||
PODFILE CHECKSUM: 521a56f741ba869ecf0fd64a7773173265973269 | ||
PODFILE CHECKSUM: 483593d0b294fc5751c2490061e01211db3f9ecc | ||
|
||
COCOAPODS: 1.11.2 | ||
COCOAPODS: 1.15.2 |
Original file line number | Diff line number | Diff line change | ||||
---|---|---|---|---|---|---|
|
@@ -6,19 +6,17 @@ title: System Requirements | |||||
|
||||||
Keyman supports the following Mac operating systems: | ||||||
|
||||||
* Mac OS X Yosemite (10.10) | ||||||
* Mac OS X El Capitan (10.11) | ||||||
* macOS Sierra (10.12) | ||||||
* macOS High Sierra (10.13) | ||||||
* macOS Mojave (10.14) | ||||||
* macOS Catalina (10.15) | ||||||
* macOS Big Sur (11.0) | ||||||
* macOS Monterey (12.0) | ||||||
* macOS Ventura (13.0) | ||||||
* macOS Sonoma (14.0) | ||||||
|
||||||
Keyman should also work on future releases of macOS, even if they are not yet listed here. | ||||||
|
||||||
## Resource Requirements | ||||||
|
||||||
Keyman for macOS has minimal resource requirements. Any computer running | ||||||
Mac OS X 10.10 or later should be able to run Keyman for macOS without trouble. | ||||||
Mac OS X 10.13 or later should be able to run Keyman for macOS without trouble. | ||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. keymanapp/keyman.com@486df1b updates the minimum version listed on keyman.com |
Original file line number | Diff line number | Diff line change | ||||
---|---|---|---|---|---|---|
|
@@ -3,4 +3,4 @@ title: What are Keyman's hardware requirements? | |||||
--- | ||||||
|
||||||
Keyman for macOS has minimal resource requirements. Any computer running | ||||||
Mac OS X 10.10 or later should be able to run Keyman for macOS without trouble. | ||||||
Mac OS X 10.13 or later should be able to run Keyman for macOS without trouble. | ||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
|
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -301,9 +301,9 @@ | |
9889E8B31BFA9CEC00019560 /* Frameworks */, | ||
9889E8B41BFA9CEC00019560 /* Resources */, | ||
98C9A8C81BFBF23C009E9A4F /* Embed App Extensions */, | ||
37DF007C24595F6F00C73128 /* ShellScript */, | ||
9800EC5D1C029FCD00BF0FB5 /* ShellScript */, | ||
371C855D2288F3A50076612A /* Embed Frameworks */, | ||
37DF007C24595F6F00C73128 /* Run Script */, | ||
9800EC5D1C029FCD00BF0FB5 /* ShellScript */, | ||
); | ||
buildRules = ( | ||
); | ||
|
@@ -439,11 +439,11 @@ | |
outputPaths = ( | ||
); | ||
runOnlyForDeploymentPostprocessing = 0; | ||
shellPath = /bin/sh; | ||
shellScript = ". \"$KEYMAN_ROOT/resources/build/xcode-utils.sh\"\n\n# Calls resource script to update build products' versioning.\nphaseSetBundleVersions\n"; | ||
shellPath = "/usr/bin/env bash"; | ||
shellScript = "\"$KEYMAN_ROOT/resources/build/xcode-wrap.sh\" \"$KEYMAN_ROOT/resources/build/set-bundle-versions-untagged.sh\"\n"; | ||
showEnvVarsInLog = 0; | ||
}; | ||
37DF007C24595F6F00C73128 /* ShellScript */ = { | ||
37DF007C24595F6F00C73128 /* Run Script */ = { | ||
isa = PBXShellScriptBuildPhase; | ||
buildActionMask = 2147483647; | ||
files = ( | ||
|
@@ -452,13 +452,14 @@ | |
); | ||
inputPaths = ( | ||
); | ||
name = "Run Script"; | ||
outputFileListPaths = ( | ||
); | ||
outputPaths = ( | ||
); | ||
runOnlyForDeploymentPostprocessing = 0; | ||
shellPath = /bin/sh; | ||
shellScript = "# Type a script or drag a script file from your workspace to insert its path.\n\n. \"$KEYMAN_ROOT/resources/build/xcode-utils.sh\"\n\n# Calls resource script to update build products' versioning.\n# true: applies VERSION_WITH_TAG to custom KeymanVersionWithTag plist member used for in-app display\nphaseSetBundleVersions true\n\n# Also updates the version string for Settings\nsetSettingsBundleVersion\n"; | ||
shellPath = "/usr/bin/env bash"; | ||
shellScript = "\"$KEYMAN_ROOT/resources/build/xcode-wrap.sh\" \"$KEYMAN_ROOT/resources/build/set-bundle-versions-and-settings-untagged.sh\"\n"; | ||
showEnvVarsInLog = 0; | ||
}; | ||
9800EC5D1C029FCD00BF0FB5 /* ShellScript */ = { | ||
|
@@ -471,8 +472,8 @@ | |
outputPaths = ( | ||
); | ||
runOnlyForDeploymentPostprocessing = 0; | ||
shellPath = /bin/sh; | ||
shellScript = "verstr1=$(/usr/libexec/PlistBuddy -c \"Print CFBundleShortVersionString\" \"$SRCROOT/FirstVoices/Info.plist\")\nverstr2=$(/usr/libexec/PlistBuddy -c \"Print CFBundleVersion\" \"$SRCROOT/FirstVoices/Info.plist\")\n/usr/libexec/PlistBuddy \"$SRCROOT/Settings.bundle/Root.plist\" -c \"set PreferenceSpecifiers:0:DefaultValue $verstr1 (build $verstr2)\"\n"; | ||
shellPath = "/usr/bin/env bash"; | ||
shellScript = "#verstr1=$(/usr/libexec/PlistBuddy -c \"Print CFBundleShortVersionString\" \"$SRCROOT/FirstVoices/Info.plist\")\n#verstr2=$(/usr/libexec/PlistBuddy -c \"Print CFBundleVersion\" \"$SRCROOT/FirstVoices/Info.plist\")\n#/usr/libexec/PlistBuddy \"$SRCROOT/Settings.bundle/Root.plist\" -c \"set PreferenceSpecifiers:0:DefaultValue $verstr1 (build $verstr2)\"\n"; | ||
Comment on lines
+475
to
+476
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. This script should be removed in 18.0 cycle (A18S1). |
||
showEnvVarsInLog = 0; | ||
}; | ||
/* End PBXShellScriptBuildPhase section */ | ||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. All these scripts should be in resources/build/mac in 18.0 (A18S1) |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,6 @@ | ||
#!/usr/bin/env bash | ||
|
||
# Calls resource script to perform the dSYM upload | ||
|
||
source "$KEYMAN_ROOT/resources/build/xcode-utils.sh" | ||
phaseSentryDsymUpload "keyman-ios" |
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. It would be good to combine all the set-bundle-versions-... scripts and parameterise, given they are so similar. A18S1 |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,11 @@ | ||
#!/usr/bin/env bash | ||
|
||
# Calls script in xcode-utils to update the version | ||
# true: applies VERSION_WITH_TAG to custom KeymanVersionWithTag plist member used for in-app display | ||
# updates the version string for Settings | ||
|
||
source "$KEYMAN_ROOT/resources/build/xcode-utils.sh" | ||
|
||
phaseSetBundleVersions true | ||
|
||
setSettingsBundleVersion |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,11 @@ | ||
#!/usr/bin/env bash | ||
|
||
# Calls script in xcode-utils to update the version | ||
# true: applies VERSION_WITH_TAG to custom KeymanVersionWithTag plist member used for in-app display | ||
# updates the version string for Settings | ||
|
||
source "$KEYMAN_ROOT/resources/build/xcode-utils.sh" | ||
|
||
phaseSetBundleVersions | ||
|
||
setSettingsBundleVersion |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This call to swiftlint should be cleaned up into a wrapped script as well in 18.0 (A18S1), and commented lines should be removed.