From ed4a03042c7613f5e479361f024543f61adf6a9e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Minh=20Nguy=E1=BB=85n?= Date: Fri, 22 Dec 2017 16:40:03 -0800 Subject: [macos] Fixed macosapp deployment --- platform/macos/scripts/deploy-packages.sh | 45 ++++++++++++++++++++----------- platform/macos/scripts/package.sh | 39 ++++++++++++++++----------- 2 files changed, 53 insertions(+), 31 deletions(-) diff --git a/platform/macos/scripts/deploy-packages.sh b/platform/macos/scripts/deploy-packages.sh index 90c3c29308..0d053aef4b 100755 --- a/platform/macos/scripts/deploy-packages.sh +++ b/platform/macos/scripts/deploy-packages.sh @@ -19,20 +19,31 @@ function step { >&2 echo -e "\033[1m\033[36m* $@\033[0m"; } function finish { >&2 echo -en "\033[0m"; } trap finish EXIT -buildPackageStyle() { - local package=$1 style="" - if [[ ${#} -eq 2 ]]; then - style="$2" - fi - step "Building: make ${package} ${style}" - make ${package} - step "Publishing ${package} with ${style}" +publish() { + OPTRESET=1 + OPTIND= + local arg + local rule= + local suffix= + local app= + while getopts 'r:s:a:' arg; do + case ${arg} in + r) rule=${OPTARG};; + s) suffix=${OPTARG};; + a) app=${OPTARG};; + *) "Usage: [-r rule] [-s suffix] [-a app]"; return + esac + done + + step "Building: make ${rule} ${suffix}" + make ${rule} + step "Publishing ${rule} with ${suffix}" local file_name="" - if [ -z ${style} ] + if [ -z ${suffix} ] then file_name=mapbox-macos-sdk-${PUBLISH_VERSION}.zip else - file_name=mapbox-macos-sdk-${PUBLISH_VERSION}-${style}.zip + file_name=mapbox-macos-sdk-${PUBLISH_VERSION}-${suffix}.zip fi step "Compressing ${file_name}…" cd build/macos/pkg @@ -46,16 +57,18 @@ buildPackageStyle() { --name ${file_name} \ --file "${BINARY_DIRECTORY}/${file_name}" > /dev/null fi - if [[ ${DEPLOY_APP} == true ]]; then + if [ ${app} ]; then + file_name="Mapbox GL.app.zip" + step "Compressing ${file_name}…" cd build/macos/app - rm -f 'Mapbox GL.app.zip' - zip -yr '../deploy/Mapbox GL.app.zip' 'Mapbox GL.app' + rm -f "${file_name}" + zip -yr "../deploy/${file_name}" 'Mapbox GL.app' cd - if [[ "${GITHUB_RELEASE}" == true ]]; then echo "Uploading ${file_name} to GitHub" github-release upload \ --tag "macos-v${PUBLISH_VERSION}" \ - --name ${file_name} \ + --name "${file_name}" \ --file "${BINARY_DIRECTORY}/${file_name}" > /dev/null fi fi @@ -126,7 +139,7 @@ if [[ "${GITHUB_RELEASE}" == true ]]; then --draft ${PUBLISH_PRE_FLAG} fi -buildPackageStyle "xpackage" "symbols" -DEPLOY_APP=true buildPackageStyle "xpackage SYMBOLS=NO" +publish -r xpackage -s symbols +publish -r "xpackage SYMBOLS=NO" -a true step "Finished deploying ${PUBLISH_VERSION} in $(($SECONDS / 60)) minutes and $(($SECONDS % 60)) seconds" diff --git a/platform/macos/scripts/package.sh b/platform/macos/scripts/package.sh index a5aae24e0c..6a04b4b948 100755 --- a/platform/macos/scripts/package.sh +++ b/platform/macos/scripts/package.sh @@ -8,10 +8,10 @@ NAME=Mapbox OUTPUT=build/macos/pkg APP_OUTPUT=build/macos/app DERIVED_DATA=build/macos -PRODUCTS=${DERIVED_DATA} BUILDTYPE=${BUILDTYPE:-Release} SYMBOLS=${SYMBOLS:-YES} +PRODUCTS=${DERIVED_DATA}/${BUILDTYPE} function step { >&2 echo -e "\033[1m\033[36m* $@\033[0m"; } function finish { >&2 echo -en "\033[0m"; } @@ -24,15 +24,7 @@ PROJ_VERSION=$(git rev-list --count HEAD) SEM_VERSION=$( git describe --tags --match=macos-v*.*.* --abbrev=0 | sed 's/^macos-v//' ) SHORT_VERSION=${SEM_VERSION%-*} -XCODEBUILD_SCHEME=dynamic -XCODEBUILD_ACTION=build -if [[ ${BUILDTYPE} == Release ]]; then - XCODEBUILD_SCHEME=macosapp - XCODEBUILD_ACTION=archive - mkdir -p ${APP_OUTPUT} -fi - -step "Building targets (build ${PROJ_VERSION}, version ${SEM_VERSION})…" +step "Building dynamic framework (build ${PROJ_VERSION}, version ${SEM_VERSION})…" xcodebuild \ CURRENT_PROJECT_VERSION=${PROJ_VERSION} \ CURRENT_SHORT_VERSION=${SHORT_VERSION} \ @@ -41,16 +33,33 @@ xcodebuild \ -derivedDataPath ${DERIVED_DATA} \ -archivePath "${APP_OUTPUT}/macosapp.xcarchive" \ -workspace ./platform/macos/macos.xcworkspace \ - -scheme ${XCODEBUILD_SCHEME} \ + -scheme dynamic \ -configuration ${BUILDTYPE} \ -jobs ${JOBS} \ - ${XCODEBUILD_ACTION} | xcpretty + build | xcpretty step "Copying dynamic framework into place" mkdir -p "${OUTPUT}/${NAME}.framework" -ditto ${PRODUCTS}/${BUILDTYPE}/${NAME}.framework "${OUTPUT}/${NAME}.framework" -if [[ -e ${PRODUCTS}/${BUILDTYPE}/${NAME}.framework.dSYM ]]; then - cp -r ${PRODUCTS}/${BUILDTYPE}/${NAME}.framework.dSYM "${OUTPUT}" +ditto ${PRODUCTS}/${NAME}.framework "${OUTPUT}/${NAME}.framework" +if [[ -e ${PRODUCTS}/${NAME}.framework.dSYM ]]; then + cp -r ${PRODUCTS}/${NAME}.framework.dSYM "${OUTPUT}" +fi + +step "Building and archiving Mapbox GL.app (build ${PROJ_VERSION}, version ${SEM_VERSION})…" +if [[ ${BUILDTYPE} == Release ]]; then + mkdir -p ${APP_OUTPUT} + xcodebuild \ + CURRENT_PROJECT_VERSION=${PROJ_VERSION} \ + CURRENT_SHORT_VERSION=${SHORT_VERSION} \ + CURRENT_SEMANTIC_VERSION=${SEM_VERSION} \ + CURRENT_COMMIT_HASH=${HASH} \ + -derivedDataPath ${DERIVED_DATA} \ + -archivePath "${APP_OUTPUT}/macosapp.xcarchive" \ + -workspace ./platform/macos/macos.xcworkspace \ + -scheme macosapp \ + -configuration ${BUILDTYPE} \ + -jobs ${JOBS} \ + archive | xcpretty fi if [[ ${SYMBOLS} = NO ]]; then -- cgit v1.2.1