summaryrefslogtreecommitdiff
path: root/platform/macos/scripts/package.sh
diff options
context:
space:
mode:
Diffstat (limited to 'platform/macos/scripts/package.sh')
-rwxr-xr-xplatform/macos/scripts/package.sh57
1 files changed, 57 insertions, 0 deletions
diff --git a/platform/macos/scripts/package.sh b/platform/macos/scripts/package.sh
new file mode 100755
index 0000000000..a6952e8ab2
--- /dev/null
+++ b/platform/macos/scripts/package.sh
@@ -0,0 +1,57 @@
+#!/usr/bin/env bash
+
+set -e
+set -o pipefail
+set -u
+
+NAME=Mapbox
+OUTPUT=build/macos/pkg
+DERIVED_DATA=build/macos
+PRODUCTS=${DERIVED_DATA}/Build/Products
+
+BUILDTYPE=${BUILDTYPE:-Release}
+GCC_GENERATE_DEBUGGING_SYMBOLS=${SYMBOLS:-YES}
+
+function step { >&2 echo -e "\033[1m\033[36m* $@\033[0m"; }
+function finish { >&2 echo -en "\033[0m"; }
+trap finish EXIT
+
+rm -rf ${OUTPUT}
+
+HASH=`git log | head -1 | awk '{ print $2 }' | cut -c 1-10` && true
+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%-*}
+
+step "Building targets (build ${PROJ_VERSION}, version ${SEM_VERSION})…"
+xcodebuild \
+ GCC_GENERATE_DEBUGGING_SYMBOLS=${GCC_GENERATE_DEBUGGING_SYMBOLS} \
+ CURRENT_PROJECT_VERSION=${PROJ_VERSION} \
+ CURRENT_SHORT_VERSION=${SHORT_VERSION} \
+ CURRENT_SEMANTIC_VERSION=${SEM_VERSION} \
+ CURRENT_COMMIT_HASH=${HASH} \
+ -derivedDataPath ${DERIVED_DATA} \
+ -workspace ./platform/macos/macos.xcworkspace \
+ -scheme dynamic \
+ -configuration ${BUILDTYPE} \
+ -jobs ${JOBS} | xcpretty
+
+step "Copying dynamic framework into place"
+mkdir -p "${OUTPUT}/${NAME}.framework"
+cp -r ${PRODUCTS}/${BUILDTYPE}/${NAME}.framework/* "${OUTPUT}/${NAME}.framework"
+if [[ -e ${PRODUCTS}/${BUILDTYPE}/${NAME}.framework.dSYM ]]; then
+ cp -r ${PRODUCTS}/${BUILDTYPE}/${NAME}.framework.dSYM "${OUTPUT}"
+fi
+
+if [[ "${GCC_GENERATE_DEBUGGING_SYMBOLS}" == false ]]; then
+ step "Stripping binaries…"
+ strip -Sx "${OUTPUT}/${NAME}.framework/${NAME}"
+fi
+
+step "Copying library resources…"
+cp -pv LICENSE.md "${OUTPUT}"
+cp -pv platform/macos/docs/pod-README.md "${OUTPUT}/README.md"
+sed -n -e '/^## /,$p' platform/macos/CHANGELOG.md > "${OUTPUT}/CHANGELOG.md"
+
+step "Generating API documentation…"
+make xdocument OUTPUT="${OUTPUT}/documentation"