diff --git a/ios/.swiftlint.yml b/ios/.swiftlint.yml index bfb08663e31..5abe0cedd10 100644 --- a/ios/.swiftlint.yml +++ b/ios/.swiftlint.yml @@ -12,3 +12,7 @@ identifier_name: min_length: warning: 0 error: 0 + +# allow underscore to avoid unexpected lint error in generated file in Xcode 15.3 +type_name: + allowed_symbols: "_" diff --git a/ios/engine/KMEI/KeymanEngine.xcodeproj/project.pbxproj b/ios/engine/KMEI/KeymanEngine.xcodeproj/project.pbxproj index 0490f265501..9dc49f1739e 100644 --- a/ios/engine/KMEI/KeymanEngine.xcodeproj/project.pbxproj +++ b/ios/engine/KMEI/KeymanEngine.xcodeproj/project.pbxproj @@ -1354,7 +1354,7 @@ ); runOnlyForDeploymentPostprocessing = 0; shellPath = "/usr/bin/env bash"; - shellScript = "# Type a script or drag a script file from your workspace to insert its path.\n. \"$KEYMAN_ROOT/resources/build/xcode-utils.sh\"\n\nphaseSetBundleVersions true\n"; + shellScript = "\"$KEYMAN_ROOT/resources/build/xcode-wrap.sh\" \"$KEYMAN_ROOT/resources/build/set-bundle-versions-tagged.sh\"\n"; showEnvVarsInLog = 0; }; CEC0C66F2410B005003E1BCD /* Run Script - upload dsyms to Sentry */ = { diff --git a/ios/keyman/Keyman/Keyman.xcodeproj/project.pbxproj b/ios/keyman/Keyman/Keyman.xcodeproj/project.pbxproj index d1c3f929be3..fdeae450f0d 100644 --- a/ios/keyman/Keyman/Keyman.xcodeproj/project.pbxproj +++ b/ios/keyman/Keyman/Keyman.xcodeproj/project.pbxproj @@ -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"; }; 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 */ diff --git a/mac/Keyman4Mac/Keyman4Mac.xcodeproj/project.pbxproj b/mac/Keyman4Mac/Keyman4Mac.xcodeproj/project.pbxproj index ff087f05441..25cc7ca8005 100644 --- a/mac/Keyman4Mac/Keyman4Mac.xcodeproj/project.pbxproj +++ b/mac/Keyman4Mac/Keyman4Mac.xcodeproj/project.pbxproj @@ -328,7 +328,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - MACOSX_DEPLOYMENT_TARGET = 10.10; + MACOSX_DEPLOYMENT_TARGET = 10.13; MTL_ENABLE_DEBUG_INFO = YES; ONLY_ACTIVE_ARCH = YES; SDKROOT = macosx; @@ -375,7 +375,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - MACOSX_DEPLOYMENT_TARGET = 10.10; + MACOSX_DEPLOYMENT_TARGET = 10.13; MTL_ENABLE_DEBUG_INFO = NO; SDKROOT = macosx; }; @@ -399,7 +399,7 @@ "$(inherited)", "@executable_path/../Frameworks", ); - MACOSX_DEPLOYMENT_TARGET = 10.10; + MACOSX_DEPLOYMENT_TARGET = 10.13; ONLY_ACTIVE_ARCH = NO; PRODUCT_BUNDLE_IDENTIFIER = org.sil.Keyman4Mac; PRODUCT_NAME = "$(TARGET_NAME)"; @@ -425,7 +425,7 @@ "$(inherited)", "@executable_path/../Frameworks", ); - MACOSX_DEPLOYMENT_TARGET = 10.10; + MACOSX_DEPLOYMENT_TARGET = 10.13; PRODUCT_BUNDLE_IDENTIFIER = org.sil.Keyman4Mac; PRODUCT_NAME = "$(TARGET_NAME)"; PRODUCT_VERSION = 0.0.1; @@ -451,6 +451,7 @@ "@executable_path/../Frameworks", "@loader_path/../Frameworks", ); + MACOSX_DEPLOYMENT_TARGET = 10.13; PRODUCT_NAME = "$(TARGET_NAME)"; TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Keyman4Mac.app/Contents/MacOS/Keyman4Mac"; }; @@ -471,6 +472,7 @@ "@executable_path/../Frameworks", "@loader_path/../Frameworks", ); + MACOSX_DEPLOYMENT_TARGET = 10.13; PRODUCT_NAME = "$(TARGET_NAME)"; TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Keyman4Mac.app/Contents/MacOS/Keyman4Mac"; }; diff --git a/mac/Keyman4MacIM/Keyman-template.dmg b/mac/Keyman4MacIM/Keyman-template.dmg index 8a67ad5da50..f23b470e2cc 100644 Binary files a/mac/Keyman4MacIM/Keyman-template.dmg and b/mac/Keyman4MacIM/Keyman-template.dmg differ diff --git a/mac/Keyman4MacIM/Keyman4MacIM.xcodeproj/project.pbxproj b/mac/Keyman4MacIM/Keyman4MacIM.xcodeproj/project.pbxproj index cf83375ba81..ad6e2710d05 100644 --- a/mac/Keyman4MacIM/Keyman4MacIM.xcodeproj/project.pbxproj +++ b/mac/Keyman4MacIM/Keyman4MacIM.xcodeproj/project.pbxproj @@ -1227,7 +1227,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - MACOSX_DEPLOYMENT_TARGET = 10.10; + MACOSX_DEPLOYMENT_TARGET = 10.13; MTL_ENABLE_DEBUG_INFO = YES; ONLY_ACTIVE_ARCH = YES; SDKROOT = macosx; @@ -1275,7 +1275,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - MACOSX_DEPLOYMENT_TARGET = 10.10; + MACOSX_DEPLOYMENT_TARGET = 10.13; MTL_ENABLE_DEBUG_INFO = NO; SDKROOT = macosx; }; @@ -1314,7 +1314,7 @@ "$(inherited)", "@executable_path/../Frameworks", ); - MACOSX_DEPLOYMENT_TARGET = 10.10; + MACOSX_DEPLOYMENT_TARGET = 10.13; ONLY_ACTIVE_ARCH = YES; OTHER_CODE_SIGN_FLAGS = "--timestamp --verbose"; PRODUCT_BUNDLE_IDENTIFIER = "keyman.inputmethod.$(PRODUCT_NAME:rfc1034identifier)"; @@ -1358,7 +1358,7 @@ "$(inherited)", "@executable_path/../Frameworks", ); - MACOSX_DEPLOYMENT_TARGET = 10.10; + MACOSX_DEPLOYMENT_TARGET = 10.13; OTHER_CODE_SIGN_FLAGS = "--timestamp --verbose"; PRODUCT_BUNDLE_IDENTIFIER = "keyman.inputmethod.$(PRODUCT_NAME:rfc1034identifier)"; PRODUCT_NAME = "$(TARGET_NAME)"; @@ -1402,7 +1402,7 @@ "@loader_path/../Frameworks", "@loader_path/Frameworks", ); - MACOSX_DEPLOYMENT_TARGET = 10.10; + MACOSX_DEPLOYMENT_TARGET = 10.13; PRODUCT_BUNDLE_IDENTIFIER = org.sil.consoleTestbed.KeymanTests; PRODUCT_NAME = "$(TARGET_NAME)"; PROVISIONING_PROFILE_SPECIFIER = ""; @@ -1436,7 +1436,7 @@ "@executable_path/../Frameworks", "@loader_path/../Frameworks", ); - MACOSX_DEPLOYMENT_TARGET = 10.10; + MACOSX_DEPLOYMENT_TARGET = 10.13; PRODUCT_BUNDLE_IDENTIFIER = org.sil.consoleTestbed.KeymanTests; PRODUCT_NAME = "$(TARGET_NAME)"; PROVISIONING_PROFILE_SPECIFIER = ""; diff --git a/mac/Keyman4MacIM/Podfile b/mac/Keyman4MacIM/Podfile index cd8e971f23b..5f203a69955 100644 --- a/mac/Keyman4MacIM/Podfile +++ b/mac/Keyman4MacIM/Podfile @@ -1,5 +1,5 @@ # Uncomment the next line to define a global platform for your project -platform :osx, '10.10' +platform :osx, '10.13' use_frameworks! target 'Keyman' do @@ -7,11 +7,11 @@ target 'Keyman' do # use_frameworks! # Pods for Keyman - pod 'Sentry', :git => 'https://github.com/getsentry/sentry-cocoa.git', :tag => '5.2.1' + pod 'Sentry', :git => 'https://github.com/getsentry/sentry-cocoa.git', :tag => '8.24.0' target 'KeymanTests' do inherit! :search_paths - pod 'Sentry', :git => 'https://github.com/getsentry/sentry-cocoa.git', :tag => '5.2.1' + pod 'Sentry', :git => 'https://github.com/getsentry/sentry-cocoa.git', :tag => '8.24.0' use_frameworks! # Pods for testing end diff --git a/mac/Keyman4MacIM/Podfile.lock b/mac/Keyman4MacIM/Podfile.lock index a161db72ea0..6eb733ea9ad 100644 --- a/mac/Keyman4MacIM/Podfile.lock +++ b/mac/Keyman4MacIM/Podfile.lock @@ -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 diff --git a/mac/KeymanEngine4Mac/KeymanEngine4Mac.xcodeproj/project.pbxproj b/mac/KeymanEngine4Mac/KeymanEngine4Mac.xcodeproj/project.pbxproj index 0a46301b7f5..d5c330e1f4d 100644 --- a/mac/KeymanEngine4Mac/KeymanEngine4Mac.xcodeproj/project.pbxproj +++ b/mac/KeymanEngine4Mac/KeymanEngine4Mac.xcodeproj/project.pbxproj @@ -594,7 +594,7 @@ ); INSTALL_PATH = ""; "LIBRARY_SEARCH_PATHS[arch=*]" = "$(PROJECT_DIR)/../../core/build/mac/debug"; - MACOSX_DEPLOYMENT_TARGET = 10.10; + MACOSX_DEPLOYMENT_TARGET = 10.13; MTL_ENABLE_DEBUG_INFO = YES; ONLY_ACTIVE_ARCH = YES; SDKROOT = macosx; @@ -647,7 +647,7 @@ ); INSTALL_PATH = ""; "LIBRARY_SEARCH_PATHS[arch=*]" = "$(PROJECT_DIR)/../../core/build/mac/release"; - MACOSX_DEPLOYMENT_TARGET = 10.10; + MACOSX_DEPLOYMENT_TARGET = 10.13; MTL_ENABLE_DEBUG_INFO = NO; SDKROOT = macosx; VERSIONING_SYSTEM = "apple-generic"; @@ -685,7 +685,7 @@ "$(PROJECT_DIR)/../../core/build/mac-x86_64/debug/subprojects/icu/source/i18n", "$(PROJECT_DIR)/../../core/build/mac/debug", ); - MACOSX_DEPLOYMENT_TARGET = 10.10; + MACOSX_DEPLOYMENT_TARGET = 10.13; ONLY_ACTIVE_ARCH = NO; "OTHER_LDFLAGS[arch=*]" = "-lstdc++"; PRODUCT_BUNDLE_IDENTIFIER = org.sil.KeymanEngine4Mac; @@ -728,7 +728,7 @@ "$(PROJECT_DIR)/../../core/build/mac-x86_64/release/subprojects/icu/source/i18n", "$(PROJECT_DIR)/../../core/build/mac/release", ); - MACOSX_DEPLOYMENT_TARGET = 10.10; + MACOSX_DEPLOYMENT_TARGET = 10.13; "OTHER_LDFLAGS[arch=*]" = "-lstdc++"; PRODUCT_BUNDLE_IDENTIFIER = org.sil.KeymanEngine4Mac; PRODUCT_NAME = "$(TARGET_NAME)"; @@ -753,6 +753,7 @@ ); INFOPLIST_FILE = KeymanEngine4MacTests/Info.plist; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/../Frameworks"; + MACOSX_DEPLOYMENT_TARGET = 10.13; PRODUCT_BUNDLE_IDENTIFIER = "Tavultesoft.$(PRODUCT_NAME:rfc1034identifier)"; PRODUCT_NAME = "$(TARGET_NAME)"; }; @@ -768,6 +769,7 @@ ); INFOPLIST_FILE = KeymanEngine4MacTests/Info.plist; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/../Frameworks"; + MACOSX_DEPLOYMENT_TARGET = 10.13; PRODUCT_BUNDLE_IDENTIFIER = "Tavultesoft.$(PRODUCT_NAME:rfc1034identifier)"; PRODUCT_NAME = "$(TARGET_NAME)"; }; diff --git a/mac/help/about/requirements.md b/mac/help/about/requirements.md index 1775c0dd8c2..d92272a7304 100644 --- a/mac/help/about/requirements.md +++ b/mac/help/about/requirements.md @@ -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. diff --git a/mac/help/common/os.md b/mac/help/common/os.md index e0c05096c43..4362eafaa73 100644 --- a/mac/help/common/os.md +++ b/mac/help/common/os.md @@ -6,10 +6,10 @@ title: Which versions does Keyman for macOS work with? 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) diff --git a/mac/help/common/requirements.md b/mac/help/common/requirements.md index b54aa64bfde..8b1c5f77592 100644 --- a/mac/help/common/requirements.md +++ b/mac/help/common/requirements.md @@ -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. diff --git a/oem/firstvoices/ios/FirstVoices.xcodeproj/project.pbxproj b/oem/firstvoices/ios/FirstVoices.xcodeproj/project.pbxproj index 7925b00543a..f11f08ddbb0 100644 --- a/oem/firstvoices/ios/FirstVoices.xcodeproj/project.pbxproj +++ b/oem/firstvoices/ios/FirstVoices.xcodeproj/project.pbxproj @@ -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"; showEnvVarsInLog = 0; }; /* End PBXShellScriptBuildPhase section */ diff --git a/resources/build/sentry-dsym-upload.sh b/resources/build/sentry-dsym-upload.sh new file mode 100755 index 00000000000..47f73b7a771 --- /dev/null +++ b/resources/build/sentry-dsym-upload.sh @@ -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" \ No newline at end of file diff --git a/resources/build/set-bundle-versions-and-settings-tagged.sh b/resources/build/set-bundle-versions-and-settings-tagged.sh new file mode 100755 index 00000000000..9ad0e9758c9 --- /dev/null +++ b/resources/build/set-bundle-versions-and-settings-tagged.sh @@ -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 \ No newline at end of file diff --git a/resources/build/set-bundle-versions-and-settings-untagged.sh b/resources/build/set-bundle-versions-and-settings-untagged.sh new file mode 100755 index 00000000000..38256c7a9a0 --- /dev/null +++ b/resources/build/set-bundle-versions-and-settings-untagged.sh @@ -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 \ No newline at end of file diff --git a/resources/build/set-bundle-versions-tagged.sh b/resources/build/set-bundle-versions-tagged.sh new file mode 100755 index 00000000000..8b4075a037b --- /dev/null +++ b/resources/build/set-bundle-versions-tagged.sh @@ -0,0 +1,7 @@ +#!/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 + +source "$KEYMAN_ROOT/resources/build/xcode-utils.sh" +phaseSetBundleVersions true \ No newline at end of file diff --git a/resources/build/set-bundle-versions-untagged.sh b/resources/build/set-bundle-versions-untagged.sh new file mode 100755 index 00000000000..85ea09f9c34 --- /dev/null +++ b/resources/build/set-bundle-versions-untagged.sh @@ -0,0 +1,6 @@ +#!/usr/bin/env bash + +# Calls script in xcode-utils to update the version + +source "$KEYMAN_ROOT/resources/build/xcode-utils.sh" +phaseSetBundleVersions \ No newline at end of file diff --git a/resources/build/xcode-utils.sh b/resources/build/xcode-utils.sh index 91fc7d43f5d..9476161ae63 100755 --- a/resources/build/xcode-utils.sh +++ b/resources/build/xcode-utils.sh @@ -7,6 +7,8 @@ # - echo "warning: foo" will generate an actual compile warning within Xcode: "foo" # - echo "error: bar" will likewise generate a compile error within Xcode: "bar" +set -e + function buildWarning() { echo "warning: $1" } diff --git a/resources/build/xcode-wrap.sh b/resources/build/xcode-wrap.sh new file mode 100755 index 00000000000..61d79ca24e9 --- /dev/null +++ b/resources/build/xcode-wrap.sh @@ -0,0 +1,11 @@ +#!/usr/bin/env bash + +echo "wrap script for arch $(arch)" +if [[ $(arch) == i386 ]] && [[ -f /usr/local/bin/bash ]]; then + /usr/local/bin/bash -l "$@" || exit $? +elif [[ $(arch) == arm64 ]] && [[ -f /opt/homebrew/bin/bash ]]; then + /opt/homebrew/bin/bash -l "$@" || exit $? +else + >&2 echo "Could not start build due to missing homebrew bash" + exit 55 +fi \ No newline at end of file diff --git a/resources/devbox/macos/macos.sh b/resources/devbox/macos/macos.sh index edbfb43a6fc..5a3914d9a76 100755 --- a/resources/devbox/macos/macos.sh +++ b/resources/devbox/macos/macos.sh @@ -145,7 +145,7 @@ which brew || ( ## Install devchain components BREW_ALL="bash jq python3 meson ninja coreutils pyenv" -BREW_WEB="node emscripten openjdk@8" +BREW_WEB="node emscripten" BREW_IOS="swiftlint carthage" BREW_MACOS="carthage cocoapods" BREW_ANDROID="openjdk@8 android-sdk android-studio ant gradle maven"