From 259dee0d21c0cfb817da316f146328bde63af33a Mon Sep 17 00:00:00 2001 From: jahorton Date: Thu, 5 Aug 2021 14:03:06 +0700 Subject: [PATCH 01/13] feat(ios): Keyman app - simulator build artifact --- ios/kmbuild.sh | 21 ++++++++++++++++++--- 1 file changed, 18 insertions(+), 3 deletions(-) diff --git a/ios/kmbuild.sh b/ios/kmbuild.sh index fd701d918d..bc6f7788b4 100755 --- a/ios/kmbuild.sh +++ b/ios/kmbuild.sh @@ -24,7 +24,7 @@ cd "$(dirname "$THIS_SCRIPT")" verify_on_mac display_usage ( ) { - echo "build.sh [-clean] [-no-kmw] [-only-framework] [-no-codesign] [-no-archive] [-no-build] [-upload-sentry]" + echo "build.sh [-clean] [-no-kmw] [-only-framework] [-no-codesign] [-no-archive] [-all-artifacts] [-no-build] [-upload-sentry]" echo echo " -clean Removes all previously-existing build products for KMEI and the Keyman app before building." echo " -no-kmw Uses existing keyman.js, doesn't try to build" @@ -37,6 +37,7 @@ display_usage ( ) { echo " -upload-sentry Uploads debug symbols, etc, to Sentry" echo " -debug Sets the configuration to debug mode instead of release." echo " -download-resources Download up-to-date versions of the engine's default resources from downloads.keyman.com." + echo " -all-artifacts Produces all build artifacts, including a Simulator-installable copy of the .app" exit 1 } @@ -55,6 +56,7 @@ BUILD_PATH=$DERIVED_DATA/Build/Products DO_KMW_BUILD=true DO_KEYMANAPP=true DO_ARCHIVE=true +DO_SIMULATOR_TARGET=false DO_CARTHAGE=true CLEAN_ONLY=false CONFIG=Release @@ -104,6 +106,9 @@ while [[ $# -gt 0 ]] ; do -download-resources) DO_KMP_DOWNLOADS=true ;; + -all-artifacts) + DO_SIMULATOR_TARGET=true + ;; esac shift # past argument done @@ -284,7 +289,7 @@ if [ $DO_KEYMANAPP = true ]; then else # Time to prepare the deployment archive data. echo "" - echo "Preparing .xcarchive." + echo "Preparing .xcarchive for real devices." xcodebuild $XCODEFLAGS_EXT $CODE_SIGN -scheme Keyman \ -archivePath $ARCHIVE_PATH \ archive -allowProvisioningUpdates \ @@ -296,13 +301,23 @@ if [ $DO_KEYMANAPP = true ]; then assertDirExists "$ARCHIVE_PATH" if [ $DO_CODE_SIGN == true ]; then - echo "Preparing .ipa file for deployment" + echo "Preparing .ipa file for deployment to real devices" xcodebuild $XCODEFLAGS -exportArchive -archivePath $ARCHIVE_PATH \ -exportOptionsPlist exportAppStore.plist \ -exportPath $BUILD_PATH/${CONFIG}-iphoneos -allowProvisioningUpdates fi fi + if [ $DO_SIMULATOR_TARGET == true ]; then + echo "Preparing .app file for simulator-targeted artifact for testing" + xcodebuild $XCODEFLAGS_EXT $CODE_SIGN -scheme Keyman \ + -sdk iphonesimulator \ + VERSION=$VERSION \ + VERSION_WITH_TAG=$VERSION_WITH_TAG \ + VERSION_ENVIRONMENT=$VERSION_ENVIRONMENT \ + UPLOAD_SENTRY=$UPLOAD_SENTRY + fi + echo "" if [ $? = 0 ]; then echo "Build succeeded." From a4901a2c67ba02bd41463495731eaf712955c4c6 Mon Sep 17 00:00:00 2001 From: jahorton Date: Thu, 5 Aug 2021 14:36:15 +0700 Subject: [PATCH 02/13] feat(oem/fv/ios): FV app - simulator build artifact --- ios/kmbuild.sh | 2 +- oem/firstvoices/ios/build_common.sh | 22 ++++++++++++++++++---- 2 files changed, 19 insertions(+), 5 deletions(-) diff --git a/ios/kmbuild.sh b/ios/kmbuild.sh index bc6f7788b4..a1a44cebe4 100755 --- a/ios/kmbuild.sh +++ b/ios/kmbuild.sh @@ -302,7 +302,7 @@ if [ $DO_KEYMANAPP = true ]; then if [ $DO_CODE_SIGN == true ]; then echo "Preparing .ipa file for deployment to real devices" - xcodebuild $XCODEFLAGS -exportArchive -archivePath $ARCHIVE_PATH \ + xcodebuild $XCODEFLAGS_EXT -exportArchive -archivePath $ARCHIVE_PATH \ -exportOptionsPlist exportAppStore.plist \ -exportPath $BUILD_PATH/${CONFIG}-iphoneos -allowProvisioningUpdates fi diff --git a/oem/firstvoices/ios/build_common.sh b/oem/firstvoices/ios/build_common.sh index e83daca0f0..77fb98530e 100755 --- a/oem/firstvoices/ios/build_common.sh +++ b/oem/firstvoices/ios/build_common.sh @@ -29,6 +29,7 @@ display_usage ( ) { echo " -no-carthage Disables downloading and building for dependencies." echo " -no-codesign Performs the build without code signing." echo " -debug Sets the configuration to debug mode instead of release." + echo " -all-artifacts Produces all build artifacts, including a Simulator-installable copy of the .app" echo echo " If no settings are specified this script will grab a copy of the most recent build of KeymanEngine," echo " performing an initial build of it if necessary." @@ -60,6 +61,7 @@ do_clean ( ) { DO_UPDATE=true DO_ARCHIVE=true +DO_SIMULATOR_TARGET=false DO_CARTHAGE=true FORCE_KMEI_BUILD=false ALLOW_KMEI_BUILD=true @@ -103,6 +105,9 @@ while [[ $# -gt 0 ]] ; do CONFIG=Debug KMEI_FLAGS="$KMEI_FLAGS -debug" ;; + -all-artifacts) + DO_SIMULATOR_TARGET=true + ;; esac shift done @@ -186,25 +191,34 @@ if [ $CODE_SIGN = true ]; then if [ $DO_ARCHIVE = true ]; then # Time to prepare the deployment archive data. echo "" - echo "Preparing .ipa file for deployment." + echo "Preparing .ipa file for deployment to real devices." xcodebuild $XCODEFLAGS_EXT -scheme $TARGET -archivePath $ARCHIVE_PATH archive -allowProvisioningUpdates \ VERSION=$VERSION \ VERSION_WITH_TAG=$VERSION_WITH_TAG assertDirExists "$ARCHIVE_PATH" - xcodebuild $XCODEFLAGS -exportArchive -archivePath $ARCHIVE_PATH -exportOptionsPlist exportAppStore.plist \ + xcodebuild $XCODEFLAGS_EXT -exportArchive -archivePath $ARCHIVE_PATH -exportOptionsPlist exportAppStore.plist \ -exportPath $BUILD_PATH/${CONFIG}-iphoneos -allowProvisioningUpdates \ VERSION=$VERSION \ VERSION_WITH_TAG=$VERSION_WITH_TAG else - xcodebuild $XCODEFLAGS -scheme "$TARGET" \ + xcodebuild $XCODEFLAGS_EXT -scheme "$TARGET" \ VERSION=$VERSION \ VERSION_WITH_TAG=$VERSION_WITH_TAG fi else xcodebuild CODE_SIGN_ENTITLEMENTS="" CODE_SIGNING_ALLOWED="NO" CODE_SIGN_IDENTITY="" CODE_SIGNING_REQUIRED=NO \ - $XCODEFLAGS -scheme "$TARGET" \ + $XCODEFLAGS_EXT -scheme "$TARGET" \ + VERSION=$VERSION \ + VERSION_WITH_TAG=$VERSION_WITH_TAG +fi + +if [ $DO_SIMULATOR_TARGET == true ]; then + echo "Preparing .app file as Simulator-targeted build artifact." + xcodebuild CODE_SIGN_ENTITLEMENTS="" CODE_SIGNING_ALLOWED="NO" CODE_SIGN_IDENTITY="" CODE_SIGNING_REQUIRED=NO \ + $XCODEFLAGS_EXT -scheme "$TARGET" \ + -sdk iphonesimulator \ VERSION=$VERSION \ VERSION_WITH_TAG=$VERSION_WITH_TAG fi From 15a5319ffb6d8dec18a0bda664cf3b912096367d Mon Sep 17 00:00:00 2001 From: jahorton Date: Thu, 5 Aug 2021 14:41:11 +0700 Subject: [PATCH 03/13] chore(ios): prep-release script tweak --- ios/tools/prepRelease.sh | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/ios/tools/prepRelease.sh b/ios/tools/prepRelease.sh index 5b97936c55..6d2de61a35 100755 --- a/ios/tools/prepRelease.sh +++ b/ios/tools/prepRelease.sh @@ -89,9 +89,15 @@ cd $WORK_DIR KEYMANAPP_IPA="build/Build/Products/Release-iphoneos/Keyman.ipa" KEYMANAPP_IPA_DST="keyman-ios-${BUILD_NUMBER}.ipa" -echo "Copying Keyman IPA ${KEYMANAPP_IPA} => ${UPLOAD_DIR}/${KEYMANAPP_IPA/DST}..." +echo "Copying Keyman IPA ${KEYMANAPP_IPA} => ${UPLOAD_DIR}/${KEYMANAPP_IPA_DST}..." cp "${KEYMANAPP_IPA}" "${WORK_DIR}/${UPLOAD_DIR}/${KEYMANAPP_IPA_DST}" +KEYMANAPP_SIM_IPA="build/Build/Products/Release-iphonesimulator/Keyman.ipa" +KEYMANAPP_SIM_IPA_DST="keyman-ios-simulator-${BUILD_NUMBER}.ipa" + +echo "Copying Keyman simulator artifact ${KEYMANAPP_SIM_IPA} => ${UPLOAD_DIR}/${KEYMANAPP_SIM_IPA_DST}..." +cp "${KEYMANAPP_IPA}" "${WORK_DIR}/${UPLOAD_DIR}/${KEYMANAPP_SIM_IPA_DST}" + # # FirstVoices app # @@ -100,8 +106,14 @@ if [ ${RELEASE_OEM_FIRSTVOICES} = true ]; then FIRSTVOICESAPP_IPA="../oem/firstvoices/ios/build/Build/Products/Release-iphoneos/FirstVoices.ipa" FIRSTVOICESAPP_IPA_DST="firstvoices-ios-${BUILD_NUMBER}.ipa" - echo "Copying FirstVoices IPA ${FIRSTVOICESAPP_IPA} => ${UPLOAD_DIR}/${FIRSTVOICESAPP_IPA/DST}..." + echo "Copying FirstVoices IPA ${FIRSTVOICESAPP_IPA} => ${UPLOAD_DIR}/${FIRSTVOICESAPP_IPA_DST}..." cp "${FIRSTVOICESAPP_IPA}" "${WORK_DIR}/${UPLOAD_DIR}/${FIRSTVOICESAPP_IPA_DST}" + + FIRSTVOICESAPP_SIM_IPA="../oem/firstvoices/ios/build/Build/Products/Release-iphonesimulator/FirstVoices.ipa" + FIRSTVOICESAPP_SIM_IPA_DST="firstvoices-ios-simulator-${BUILD_NUMBER}.ipa" + + echo "Copying FirstVoices IPA ${FIRSTVOICESAPP_SIM_IPA} => ${UPLOAD_DIR}/${FIRSTVOICESAPP_SIM_IPA_DST}..." + cp "${FIRSTVOICESAPP_SIM_IPA}" "${WORK_DIR}/${UPLOAD_DIR}/${FIRSTVOICESAPP_SIM_IPA_DST}" fi # From bc541389a6e9c8425e8bec3c3b9ccc21d599a5e2 Mon Sep 17 00:00:00 2001 From: jahorton Date: Fri, 6 Aug 2021 07:52:27 +0700 Subject: [PATCH 04/13] fix(ios): missed a spot in prepRelease --- common/predictive-text/package-lock.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/common/predictive-text/package-lock.json b/common/predictive-text/package-lock.json index 4e5be2c0b5..5b42cd2847 100644 --- a/common/predictive-text/package-lock.json +++ b/common/predictive-text/package-lock.json @@ -6,7 +6,7 @@ "packages": { "": { "name": "@keymanapp/lexical-model-layer", - "version": "15.0.80", + "version": "15.0.94", "license": "MIT", "dependencies": { "es6-shim": "^0.35.5", From 70f6cda8ebed0dc5785ae21e049c56d3663cfeca Mon Sep 17 00:00:00 2001 From: jahorton Date: Fri, 6 Aug 2021 07:52:48 +0700 Subject: [PATCH 05/13] fix(ios): missed a spot in prepRelease --- ios/tools/prepRelease.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ios/tools/prepRelease.sh b/ios/tools/prepRelease.sh index 6d2de61a35..2cefe1aa66 100755 --- a/ios/tools/prepRelease.sh +++ b/ios/tools/prepRelease.sh @@ -96,7 +96,7 @@ KEYMANAPP_SIM_IPA="build/Build/Products/Release-iphonesimulator/Keyman.ipa" KEYMANAPP_SIM_IPA_DST="keyman-ios-simulator-${BUILD_NUMBER}.ipa" echo "Copying Keyman simulator artifact ${KEYMANAPP_SIM_IPA} => ${UPLOAD_DIR}/${KEYMANAPP_SIM_IPA_DST}..." -cp "${KEYMANAPP_IPA}" "${WORK_DIR}/${UPLOAD_DIR}/${KEYMANAPP_SIM_IPA_DST}" +cp "${KEYMANAPP_SIM_IPA}" "${WORK_DIR}/${UPLOAD_DIR}/${KEYMANAPP_SIM_IPA_DST}" # # FirstVoices app From b95579ebe12a6a10c519a98d5103f66c504a5f78 Mon Sep 17 00:00:00 2001 From: jahorton Date: Fri, 6 Aug 2021 08:03:49 +0700 Subject: [PATCH 06/13] fix(ios): proper use of our XCODEFLAGS_EXT shell var --- oem/firstvoices/ios/build_common.sh | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/oem/firstvoices/ios/build_common.sh b/oem/firstvoices/ios/build_common.sh index 77fb98530e..bec239277e 100755 --- a/oem/firstvoices/ios/build_common.sh +++ b/oem/firstvoices/ios/build_common.sh @@ -198,7 +198,10 @@ if [ $CODE_SIGN = true ]; then assertDirExists "$ARCHIVE_PATH" - xcodebuild $XCODEFLAGS_EXT -exportArchive -archivePath $ARCHIVE_PATH -exportOptionsPlist exportAppStore.plist \ + + # Do NOT use the _EXT variant here; there's no scheme to ref, which will lead + # Xcode to generate a build error. + xcodebuild $XCODEFLAGS -exportArchive -archivePath $ARCHIVE_PATH -exportOptionsPlist exportAppStore.plist \ -exportPath $BUILD_PATH/${CONFIG}-iphoneos -allowProvisioningUpdates \ VERSION=$VERSION \ VERSION_WITH_TAG=$VERSION_WITH_TAG From 4fa88a4ab6062cd836c72c1de028208caf428061 Mon Sep 17 00:00:00 2001 From: jahorton Date: Fri, 6 Aug 2021 08:05:15 +0700 Subject: [PATCH 07/13] fix(ios): missed a spot --- ios/kmbuild.sh | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/ios/kmbuild.sh b/ios/kmbuild.sh index a1a44cebe4..d12b2bdc1c 100755 --- a/ios/kmbuild.sh +++ b/ios/kmbuild.sh @@ -302,7 +302,9 @@ if [ $DO_KEYMANAPP = true ]; then if [ $DO_CODE_SIGN == true ]; then echo "Preparing .ipa file for deployment to real devices" - xcodebuild $XCODEFLAGS_EXT -exportArchive -archivePath $ARCHIVE_PATH \ + # Do NOT use the _EXT variant here; there's no scheme to ref, which will lead + # Xcode to generate a build error. + xcodebuild $XCODEFLAGS -exportArchive -archivePath $ARCHIVE_PATH \ -exportOptionsPlist exportAppStore.plist \ -exportPath $BUILD_PATH/${CONFIG}-iphoneos -allowProvisioningUpdates fi From 99166ef0cc4ce9c75e9b4620f62c29e3dbf09ec4 Mon Sep 17 00:00:00 2001 From: jahorton Date: Fri, 6 Aug 2021 08:05:42 +0700 Subject: [PATCH 08/13] chore(common): reverts unrelated package-lock update --- common/predictive-text/package-lock.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/common/predictive-text/package-lock.json b/common/predictive-text/package-lock.json index 5b42cd2847..4e5be2c0b5 100644 --- a/common/predictive-text/package-lock.json +++ b/common/predictive-text/package-lock.json @@ -6,7 +6,7 @@ "packages": { "": { "name": "@keymanapp/lexical-model-layer", - "version": "15.0.94", + "version": "15.0.80", "license": "MIT", "dependencies": { "es6-shim": "^0.35.5", From b9fe39e6fbde610a8cc25e38fb76b0707b36d7eb Mon Sep 17 00:00:00 2001 From: jahorton Date: Fri, 6 Aug 2021 08:07:42 +0700 Subject: [PATCH 09/13] chore(ios): -all-artifacts -> -add-sim-artifact --- ios/kmbuild.sh | 6 +++--- oem/firstvoices/ios/build_common.sh | 18 +++++++++--------- 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/ios/kmbuild.sh b/ios/kmbuild.sh index d12b2bdc1c..756ea73ff3 100755 --- a/ios/kmbuild.sh +++ b/ios/kmbuild.sh @@ -24,7 +24,7 @@ cd "$(dirname "$THIS_SCRIPT")" verify_on_mac display_usage ( ) { - echo "build.sh [-clean] [-no-kmw] [-only-framework] [-no-codesign] [-no-archive] [-all-artifacts] [-no-build] [-upload-sentry]" + echo "build.sh [-clean] [-no-kmw] [-only-framework] [-no-codesign] [-no-archive] [-add-sim-artifact] [-no-build] [-upload-sentry]" echo echo " -clean Removes all previously-existing build products for KMEI and the Keyman app before building." echo " -no-kmw Uses existing keyman.js, doesn't try to build" @@ -37,7 +37,7 @@ display_usage ( ) { echo " -upload-sentry Uploads debug symbols, etc, to Sentry" echo " -debug Sets the configuration to debug mode instead of release." echo " -download-resources Download up-to-date versions of the engine's default resources from downloads.keyman.com." - echo " -all-artifacts Produces all build artifacts, including a Simulator-installable copy of the .app" + echo " -add-sim-artifact Produces all build artifacts, including a Simulator-installable copy of the .app" exit 1 } @@ -106,7 +106,7 @@ while [[ $# -gt 0 ]] ; do -download-resources) DO_KMP_DOWNLOADS=true ;; - -all-artifacts) + -add-sim-artifact) DO_SIMULATOR_TARGET=true ;; esac diff --git a/oem/firstvoices/ios/build_common.sh b/oem/firstvoices/ios/build_common.sh index bec239277e..e7b28d3404 100755 --- a/oem/firstvoices/ios/build_common.sh +++ b/oem/firstvoices/ios/build_common.sh @@ -22,14 +22,14 @@ fi display_usage ( ) { echo "build.sh [-no-update] | [-no-archive] | [-lib-build] | [-lib-ignore] | [-clean]" echo - echo " -clean Removes all previously-existing build products for this project before building." - echo " -no-update If an in-place copy of KeymanEngine.framework exists, does not seek out an updated copy." - echo " -lib-build Actively rebuilds KMEI before copying its build products to project resources." - echo " -lib-nobuild Prevents the build script from building KeymanEngine under any circumstances." - echo " -no-carthage Disables downloading and building for dependencies." - echo " -no-codesign Performs the build without code signing." - echo " -debug Sets the configuration to debug mode instead of release." - echo " -all-artifacts Produces all build artifacts, including a Simulator-installable copy of the .app" + echo " -clean Removes all previously-existing build products for this project before building." + echo " -no-update If an in-place copy of KeymanEngine.framework exists, does not seek out an updated copy." + echo " -lib-build Actively rebuilds KMEI before copying its build products to project resources." + echo " -lib-nobuild Prevents the build script from building KeymanEngine under any circumstances." + echo " -no-carthage Disables downloading and building for dependencies." + echo " -no-codesign Performs the build without code signing." + echo " -debug Sets the configuration to debug mode instead of release." + echo " -add-sim-artifact Produces all build artifacts, including a Simulator-installable copy of the .app" echo echo " If no settings are specified this script will grab a copy of the most recent build of KeymanEngine," echo " performing an initial build of it if necessary." @@ -105,7 +105,7 @@ while [[ $# -gt 0 ]] ; do CONFIG=Debug KMEI_FLAGS="$KMEI_FLAGS -debug" ;; - -all-artifacts) + -add-sim-artifact) DO_SIMULATOR_TARGET=true ;; esac From 67f29d2a61cd74106be21b1a5d9f19f3f1c79557 Mon Sep 17 00:00:00 2001 From: jahorton Date: Fri, 6 Aug 2021 08:16:58 +0700 Subject: [PATCH 10/13] docs(ios): tweaks build-script help for new flag --- ios/kmbuild.sh | 2 +- oem/firstvoices/ios/build_common.sh | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/ios/kmbuild.sh b/ios/kmbuild.sh index 756ea73ff3..fae76b90af 100755 --- a/ios/kmbuild.sh +++ b/ios/kmbuild.sh @@ -37,7 +37,7 @@ display_usage ( ) { echo " -upload-sentry Uploads debug symbols, etc, to Sentry" echo " -debug Sets the configuration to debug mode instead of release." echo " -download-resources Download up-to-date versions of the engine's default resources from downloads.keyman.com." - echo " -add-sim-artifact Produces all build artifacts, including a Simulator-installable copy of the .app" + echo " -add-sim-artifact Also produce a Simulator-installable .app build artifact" exit 1 } diff --git a/oem/firstvoices/ios/build_common.sh b/oem/firstvoices/ios/build_common.sh index e7b28d3404..47ff14ee48 100755 --- a/oem/firstvoices/ios/build_common.sh +++ b/oem/firstvoices/ios/build_common.sh @@ -29,7 +29,7 @@ display_usage ( ) { echo " -no-carthage Disables downloading and building for dependencies." echo " -no-codesign Performs the build without code signing." echo " -debug Sets the configuration to debug mode instead of release." - echo " -add-sim-artifact Produces all build artifacts, including a Simulator-installable copy of the .app" + echo " -add-sim-artifact Also produce a Simulator-installable .app build artifact" echo echo " If no settings are specified this script will grab a copy of the most recent build of KeymanEngine," echo " performing an initial build of it if necessary." From 89d5a0bd9e44dcc8bfe22e786127d8974831607c Mon Sep 17 00:00:00 2001 From: jahorton Date: Fri, 6 Aug 2021 09:28:25 +0700 Subject: [PATCH 11/13] fix(ios): sim artifact uses .app, not .ipa --- ios/tools/prepRelease.sh | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/ios/tools/prepRelease.sh b/ios/tools/prepRelease.sh index 2cefe1aa66..ae894d85f8 100755 --- a/ios/tools/prepRelease.sh +++ b/ios/tools/prepRelease.sh @@ -92,8 +92,8 @@ KEYMANAPP_IPA_DST="keyman-ios-${BUILD_NUMBER}.ipa" echo "Copying Keyman IPA ${KEYMANAPP_IPA} => ${UPLOAD_DIR}/${KEYMANAPP_IPA_DST}..." cp "${KEYMANAPP_IPA}" "${WORK_DIR}/${UPLOAD_DIR}/${KEYMANAPP_IPA_DST}" -KEYMANAPP_SIM_IPA="build/Build/Products/Release-iphonesimulator/Keyman.ipa" -KEYMANAPP_SIM_IPA_DST="keyman-ios-simulator-${BUILD_NUMBER}.ipa" +KEYMANAPP_SIM_IPA="build/Build/Products/Release-iphonesimulator/Keyman.app" +KEYMANAPP_SIM_IPA_DST="keyman-ios-simulator-${BUILD_NUMBER}.app" echo "Copying Keyman simulator artifact ${KEYMANAPP_SIM_IPA} => ${UPLOAD_DIR}/${KEYMANAPP_SIM_IPA_DST}..." cp "${KEYMANAPP_SIM_IPA}" "${WORK_DIR}/${UPLOAD_DIR}/${KEYMANAPP_SIM_IPA_DST}" @@ -109,8 +109,8 @@ if [ ${RELEASE_OEM_FIRSTVOICES} = true ]; then echo "Copying FirstVoices IPA ${FIRSTVOICESAPP_IPA} => ${UPLOAD_DIR}/${FIRSTVOICESAPP_IPA_DST}..." cp "${FIRSTVOICESAPP_IPA}" "${WORK_DIR}/${UPLOAD_DIR}/${FIRSTVOICESAPP_IPA_DST}" - FIRSTVOICESAPP_SIM_IPA="../oem/firstvoices/ios/build/Build/Products/Release-iphonesimulator/FirstVoices.ipa" - FIRSTVOICESAPP_SIM_IPA_DST="firstvoices-ios-simulator-${BUILD_NUMBER}.ipa" + FIRSTVOICESAPP_SIM_IPA="../oem/firstvoices/ios/build/Build/Products/Release-iphonesimulator/FirstVoices.app" + FIRSTVOICESAPP_SIM_IPA_DST="firstvoices-ios-simulator-${BUILD_NUMBER}.app" echo "Copying FirstVoices IPA ${FIRSTVOICESAPP_SIM_IPA} => ${UPLOAD_DIR}/${FIRSTVOICESAPP_SIM_IPA_DST}..." cp "${FIRSTVOICESAPP_SIM_IPA}" "${WORK_DIR}/${UPLOAD_DIR}/${FIRSTVOICESAPP_SIM_IPA_DST}" From ec68bb12c7ea84682757744eaa6188a4c3075b41 Mon Sep 17 00:00:00 2001 From: jahorton Date: Fri, 6 Aug 2021 10:30:57 +0700 Subject: [PATCH 12/13] fix(ios): .app is folder; artifact as .zip of .app --- ios/tools/prepRelease.sh | 25 ++++++++++++++++--------- 1 file changed, 16 insertions(+), 9 deletions(-) diff --git a/ios/tools/prepRelease.sh b/ios/tools/prepRelease.sh index ae894d85f8..db644c7f45 100755 --- a/ios/tools/prepRelease.sh +++ b/ios/tools/prepRelease.sh @@ -92,28 +92,35 @@ KEYMANAPP_IPA_DST="keyman-ios-${BUILD_NUMBER}.ipa" echo "Copying Keyman IPA ${KEYMANAPP_IPA} => ${UPLOAD_DIR}/${KEYMANAPP_IPA_DST}..." cp "${KEYMANAPP_IPA}" "${WORK_DIR}/${UPLOAD_DIR}/${KEYMANAPP_IPA_DST}" -KEYMANAPP_SIM_IPA="build/Build/Products/Release-iphonesimulator/Keyman.app" -KEYMANAPP_SIM_IPA_DST="keyman-ios-simulator-${BUILD_NUMBER}.app" +KEYMANAPP_SIM_FOLDER="build/Build/Products/Release-iphonesimulator" +KEYMANAPP_SIM_APP="$KEYMANAPP_SIM_FOLDER/Keyman.app" +KEYMANAPP_SIM_APP_DST="keyman-ios-simulator-${BUILD_NUMBER}.app.zip" -echo "Copying Keyman simulator artifact ${KEYMANAPP_SIM_IPA} => ${UPLOAD_DIR}/${KEYMANAPP_SIM_IPA_DST}..." -cp "${KEYMANAPP_SIM_IPA}" "${WORK_DIR}/${UPLOAD_DIR}/${KEYMANAPP_SIM_IPA_DST}" +echo "Zipping Keyman simulator artifact ${KEYMANAPP_SIM_APP} => ${UPLOAD_DIR}/${KEYMANAPP_SIM_APP_DST}..." +cd "${KEYMANAPP_SIM_FOLDER}" +zip -qrX "${WORK_DIR}/${UPLOAD_DIR}/${KEYMANAPP_SIM_APP_DST}" "Keyman.app" +echo "${WORK_DIR}/${UPLOAD_DIR}/${KEYMANAPP_SIM_APP_DST}" +cd $WORK_DIR # # FirstVoices app # -if [ ${RELEASE_OEM_FIRSTVOICES} = true ]; then +if [ "${RELEASE_OEM_FIRSTVOICES}" = true ]; then FIRSTVOICESAPP_IPA="../oem/firstvoices/ios/build/Build/Products/Release-iphoneos/FirstVoices.ipa" FIRSTVOICESAPP_IPA_DST="firstvoices-ios-${BUILD_NUMBER}.ipa" echo "Copying FirstVoices IPA ${FIRSTVOICESAPP_IPA} => ${UPLOAD_DIR}/${FIRSTVOICESAPP_IPA_DST}..." cp "${FIRSTVOICESAPP_IPA}" "${WORK_DIR}/${UPLOAD_DIR}/${FIRSTVOICESAPP_IPA_DST}" - FIRSTVOICESAPP_SIM_IPA="../oem/firstvoices/ios/build/Build/Products/Release-iphonesimulator/FirstVoices.app" - FIRSTVOICESAPP_SIM_IPA_DST="firstvoices-ios-simulator-${BUILD_NUMBER}.app" + FIRSTVOICESAPP_SIM_FOLDER="../oem/firstvoices/ios/build/Build/Products/Release-iphonesimulator/" + FIRSTVOICESAPP_SIM_APP="$FIRSTVOICESAPP_SIM_FOLDER/FirstVoices.app" + FIRSTVOICESAPP_SIM_APP_DST="firstvoices-ios-simulator-${BUILD_NUMBER}.app.zip" - echo "Copying FirstVoices IPA ${FIRSTVOICESAPP_SIM_IPA} => ${UPLOAD_DIR}/${FIRSTVOICESAPP_SIM_IPA_DST}..." - cp "${FIRSTVOICESAPP_SIM_IPA}" "${WORK_DIR}/${UPLOAD_DIR}/${FIRSTVOICESAPP_SIM_IPA_DST}" + echo "Zipping FirstVoices simulator artifact ${FIRSTVOICESAPP_SIM_APP} => ${UPLOAD_DIR}/${KEYMANAPP_SIM_APP_DST}..." + cd "${FIRSTVOICESAPP_SIM_FOLDER}" + zip -qrX "${WORK_DIR}/${UPLOAD_DIR}/${FIRSTVOICESAPP_SIM_APP_DST}" "FirstVoices.app" + cd $WORK_DIR fi # From 0997dc34a8fbf27573ce6a4ca0b9425cae75eacc Mon Sep 17 00:00:00 2001 From: Joshua Horton Date: Mon, 9 Aug 2021 08:22:57 +0700 Subject: [PATCH 13/13] chore(ios): Apply suggestions from code review Co-authored-by: Marc Durdin --- ios/tools/prepRelease.sh | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/ios/tools/prepRelease.sh b/ios/tools/prepRelease.sh index db644c7f45..6488bbc87a 100755 --- a/ios/tools/prepRelease.sh +++ b/ios/tools/prepRelease.sh @@ -100,7 +100,7 @@ echo "Zipping Keyman simulator artifact ${KEYMANAPP_SIM_APP} => ${UPLOAD_DIR}/${ cd "${KEYMANAPP_SIM_FOLDER}" zip -qrX "${WORK_DIR}/${UPLOAD_DIR}/${KEYMANAPP_SIM_APP_DST}" "Keyman.app" echo "${WORK_DIR}/${UPLOAD_DIR}/${KEYMANAPP_SIM_APP_DST}" -cd $WORK_DIR +cd "$WORK_DIR" # # FirstVoices app @@ -120,7 +120,7 @@ if [ "${RELEASE_OEM_FIRSTVOICES}" = true ]; then echo "Zipping FirstVoices simulator artifact ${FIRSTVOICESAPP_SIM_APP} => ${UPLOAD_DIR}/${KEYMANAPP_SIM_APP_DST}..." cd "${FIRSTVOICESAPP_SIM_FOLDER}" zip -qrX "${WORK_DIR}/${UPLOAD_DIR}/${FIRSTVOICESAPP_SIM_APP_DST}" "FirstVoices.app" - cd $WORK_DIR + cd "$WORK_DIR" fi # @@ -134,4 +134,4 @@ write_download_info "Keyman for iPhone and iPad" "${KEYMANAPP_IPA_DST}" "${BUILD if [ ${RELEASE_OEM_FIRSTVOICES} = true ]; then write_download_info "FirstVoices Keyboards" "${FIRSTVOICESAPP_IPA_DST}" "${BUILD_NUMBER}" "${TIER}" "ios" -fi \ No newline at end of file +fi