blob: b04ba86d3397b5d15df3e216010630c1496f5c63 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
|
#!/usr/bin/env bash
set -e
set -o pipefail
set -u
NAME=Mapbox
OUTPUT=build/osx/pkg
DERIVED_DATA=build/osx
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=osx-v*.*.* --abbrev=0 | sed 's/^osx-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/osx/osx.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/osx/docs/pod-README.md "${OUTPUT}/README.md"
sed -n -e '/^## /,$p' platform/osx/CHANGELOG.md > "${OUTPUT}/CHANGELOG.md"
step "Generating API documentation…"
make xdocument OUTPUT="${OUTPUT}/documentation"
|