summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMinh Nguyễn <mxn@1ec5.org>2017-12-01 19:29:34 -0800
committerMinh Nguyễn <mxn@1ec5.org>2019-07-28 15:59:45 -0700
commit9f4f7a2aa717d4ad7a8f13cd5e93b72acaf0c9b3 (patch)
tree8f4459c922554229771a871ce0c5a93fbac15315
parent1826897120e74bc2be6d1f4336d968c9431495e1 (diff)
downloadqtlocation-mapboxgl-upstream/1ec5-tvos.tar.gz
[tvos] Package scriptupstream/1ec5-tvos
-rw-r--r--Makefile2
-rwxr-xr-xplatform/ios/scripts/package.sh102
2 files changed, 99 insertions, 5 deletions
diff --git a/Makefile b/Makefile
index 5a127471c9..bfa2c1a049 100644
--- a/Makefile
+++ b/Makefile
@@ -337,7 +337,7 @@ ipackage%:
.PHONY: iframework
iframework: $(IOS_PROJ_PATH)
- FORMAT=$(FORMAT) BUILD_DEVICE=$(BUILD_DEVICE) SYMBOLS=$(SYMBOLS) BUILD_DOCS=$(BUILD_DOCS) \
+ FORMAT=$(FORMAT) BUILD_DEVICE=$(BUILD_DEVICE) BUILD_TV=$(BUILD_TV) BUILD_DOCS=$(BUILD_DOCS) SYMBOLS=$(SYMBOLS) \
./platform/ios/scripts/package.sh
.PHONY: ideploy
diff --git a/platform/ios/scripts/package.sh b/platform/ios/scripts/package.sh
index 5475632c24..b65be05356 100755
--- a/platform/ios/scripts/package.sh
+++ b/platform/ios/scripts/package.sh
@@ -11,6 +11,7 @@ PRODUCTS=${DERIVED_DATA}
LOG_PATH=build/xcodebuild-$(date +"%Y-%m-%d_%H%M%S").log
BUILD_FOR_DEVICE=${BUILD_DEVICE:-true}
+BUILD_FOR_TV=${BUILD_TV:-true}
BUILD_DOCS=${BUILD_DOCS:-true}
SYMBOLS=${SYMBOLS:-YES}
@@ -36,6 +37,15 @@ if [[ ${BUILD_FOR_DEVICE} == true ]]; then
fi
IOS_SDK_VERSION=`xcrun --sdk ${SDK} --show-sdk-version`
+TVOS_SDK=
+if [[ ${BUILD_FOR_TV} == true ]]; then
+ TVOS_SDK=appletvsimulator
+ if [[ ${BUILD_FOR_DEVICE} == true ]]; then
+ TVOS_SDK=appletvos
+ fi
+fi
+TVOS_SDK_VERSION=`xcrun --sdk ${TVOS_SDK} --show-sdk-version`
+
function step { >&2 echo -e "\033[1m\033[36m* $@\033[0m"; }
function finish { >&2 echo -en "\033[0m"; }
trap finish EXIT
@@ -51,6 +61,9 @@ fi
if [[ ${BUILD_DYNAMIC} == true ]]; then
mkdir -p "${OUTPUT}"/dynamic
fi
+if [[ ${BUILD_FOR_TV} == true ]]; then
+ mkdir -p "${OUTPUT}"/tv
+fi
step "Recording library version…"
VERSION="${OUTPUT}"/version.txt
@@ -110,6 +123,38 @@ if [[ ${BUILD_FOR_DEVICE} == true ]]; then
-jobs ${JOBS} | tee ${LOG_PATH} | xcpretty
fi
+if [[ ${BUILD_FOR_TV} == true ]]; then
+ step "Building for tvOS Simulator using scheme tv"
+ xcodebuild \
+ CURRENT_PROJECT_VERSION=${PROJ_VERSION} \
+ CURRENT_SHORT_VERSION=${SHORT_VERSION} \
+ CURRENT_SEMANTIC_VERSION=${SEM_VERSION} \
+ CURRENT_COMMIT_HASH=${HASH} \
+ ONLY_ACTIVE_ARCH=NO \
+ -derivedDataPath ${DERIVED_DATA} \
+ -workspace ./platform/ios/ios.xcworkspace \
+ -scheme tv \
+ -configuration ${BUILDTYPE} \
+ -sdk appletvsimulator \
+ -jobs ${JOBS} | xcpretty
+
+ if [[ ${BUILD_FOR_DEVICE} == true ]]; then
+ step "Building for tvOS devices using scheme tv"
+ xcodebuild \
+ CURRENT_PROJECT_VERSION=${PROJ_VERSION} \
+ CURRENT_SHORT_VERSION=${SHORT_VERSION} \
+ CURRENT_SEMANTIC_VERSION=${SEM_VERSION} \
+ CURRENT_COMMIT_HASH=${HASH} \
+ ONLY_ACTIVE_ARCH=NO \
+ -derivedDataPath ${DERIVED_DATA} \
+ -workspace ./platform/ios/ios.xcworkspace \
+ -scheme tv \
+ -configuration ${BUILDTYPE} \
+ -sdk appletvos \
+ -jobs ${JOBS} | xcpretty
+ fi
+fi
+
LIBS=(Mapbox.a)
# https://medium.com/@syshen/create-an-ios-universal-framework-148eb130a46c
@@ -146,14 +191,41 @@ if [[ ${BUILD_FOR_DEVICE} == true ]]; then
fi
fi
- step "Merging simulator dynamic library into device dynamic library…"
+ step "Merging iOS simulator dynamic library into device dynamic library…"
lipo \
${PRODUCTS}/${BUILDTYPE}-iphoneos/${NAME}.framework/${NAME} \
${PRODUCTS}/${BUILDTYPE}-iphonesimulator/${NAME}.framework/${NAME} \
-create -output ${OUTPUT}/dynamic/${NAME}.framework/${NAME} | echo
fi
-
+
cp -rv platform/ios/app/Settings.bundle ${OUTPUT}
+
+ if [[ ${BUILD_FOR_TV} == true ]]; then
+ step "Copying dynamic framework into place for tvOS devices"
+ cp -r \
+ ${PRODUCTS}/${BUILDTYPE}-appletvos/${NAME}.framework \
+ ${OUTPUT}/tv/
+
+ if [[ -e ${PRODUCTS}/${BUILDTYPE}-appletvos/${NAME}.framework.dSYM ]]; then
+ step "Copying dSYM"
+ cp -r ${PRODUCTS}/${BUILDTYPE}-appletvos/${NAME}.framework.dSYM \
+ ${OUTPUT}/tv/
+ if [[ -e ${PRODUCTS}/${BUILDTYPE}-appletvsimulator/${NAME}.framework.dSYM ]]; then
+ step "Merging device and simulator dSYMs…"
+ lipo \
+ ${PRODUCTS}/${BUILDTYPE}-appletvos/${NAME}.framework.dSYM/Contents/Resources/DWARF/${NAME} \
+ ${PRODUCTS}/${BUILDTYPE}-appletvsimulator/${NAME}.framework.dSYM/Contents/Resources/DWARF/${NAME} \
+ -create -output ${OUTPUT}/tv/${NAME}.framework.dSYM/Contents/Resources/DWARF/${NAME}
+ lipo -info ${OUTPUT}/tv/${NAME}.framework.dSYM/Contents/Resources/DWARF/${NAME}
+ fi
+ fi
+
+ step "Merging tvOS simulator dynamic library into device dynamic library…"
+ lipo \
+ ${PRODUCTS}/${BUILDTYPE}-appletvos/${NAME}.framework/${NAME} \
+ ${PRODUCTS}/${BUILDTYPE}-appletvsimulator/${NAME}.framework/${NAME} \
+ -create -output ${OUTPUT}/tv/${NAME}.framework/${NAME} | echo
+ fi
else
if [[ ${BUILD_STATIC} == true ]]; then
step "Assembling static library for iOS Simulator…"
@@ -177,8 +249,20 @@ else
${OUTPUT}/dynamic/
fi
fi
-
+
cp -rv platform/ios/app/Settings.bundle ${OUTPUT}
+
+ if [[ ${BUILD_FOR_TV} == true ]]; then
+ step "Copying dynamic framework into place for tvOS Simulator…"
+ cp -r \
+ ${PRODUCTS}/${BUILDTYPE}-appletvsimulator/${NAME}.framework \
+ ${OUTPUT}/tv/${NAME}.framework
+ if [[ -e ${PRODUCTS}/${BUILDTYPE}-appletvsimulator/${NAME}.framework.dSYM ]]; then
+ step "Copying dSYM"
+ cp -r ${PRODUCTS}/${BUILDTYPE}-appletvsimulator/${NAME}.framework.dSYM \
+ ${OUTPUT}/tv/
+ fi
+ fi
fi
function get_comparable_uuid {
@@ -206,6 +290,12 @@ if [[ ${BUILD_DYNAMIC} == true && ${BUILDTYPE} == Release ]]; then
lipo -info "${OUTPUT}/dynamic/${NAME}.framework.dSYM/Contents/Resources/DWARF/${NAME}"
fi
+if [[ ${BUILD_FOR_TV} == true && ${BUILDTYPE} == Release ]]; then
+ validate_dsym \
+ "${OUTPUT}/tv/${NAME}.framework.dSYM/Contents/Resources/DWARF/${NAME}" \
+ "${OUTPUT}/tv/${NAME}.framework/${NAME}"
+fi
+
if [[ ${BUILD_STATIC} == true ]]; then
step "Copying static library headers…"
cp -rv "${PRODUCTS}/${BUILDTYPE}-iphoneos/Headers" "${OUTPUT}/static/${NAME}.framework/Headers"
@@ -222,9 +312,13 @@ if [[ ${BUILD_STATIC} == true ]]; then
cp -pv platform/ios/framework/modulemap "${OUTPUT}/static/${NAME}.framework/Modules/module.modulemap"
fi
if [[ ${BUILD_DYNAMIC} == true && ${BUILD_FOR_DEVICE} == true ]]; then
- step "Copying bitcode symbol maps…"
+ step "Copying iOS Bitcode symbol maps…"
find "${PRODUCTS}/${BUILDTYPE}-iphoneos" -name '*.bcsymbolmap' -type f -exec cp -pv {} "${OUTPUT}/dynamic/" \;
fi
+if [[ ${BUILD_FOR_TV} == true && ${BUILD_FOR_DEVICE} == true ]]; then
+ step "Copying tvOS Bitcode symbol maps…"
+ find "${PRODUCTS}/${BUILDTYPE}-appletvos" -name '*.bcsymbolmap' -type f -exec cp -pv {} "${OUTPUT}/tv/" \;
+fi
sed -n -e '/^## /,$p' platform/ios/CHANGELOG.md > "${OUTPUT}/CHANGELOG.md"
rm -rf /tmp/mbgl