summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJason Wray <jason@mapbox.com>2016-09-30 05:20:15 -0400
committerJason Wray <jason@mapbox.com>2016-10-25 22:35:01 -0700
commit47f73d3f643d0c047931cc408be2dcdcef5131cf (patch)
tree7f5388bb00ff7e2d3ed7e8fcca6a5f5fd8f7c402
parent5cacbb45058005e72baa49b8d8cd0eb2deb9d029 (diff)
downloadqtlocation-mapboxgl-47f73d3f643d0c047931cc408be2dcdcef5131cf.tar.gz
[ios][build] Validate dSYM and framework UUIDs
-rwxr-xr-xplatform/ios/scripts/package.sh23
1 files changed, 22 insertions, 1 deletions
diff --git a/platform/ios/scripts/package.sh b/platform/ios/scripts/package.sh
index 8ad779d6b5..00aae9b882 100755
--- a/platform/ios/scripts/package.sh
+++ b/platform/ios/scripts/package.sh
@@ -167,7 +167,7 @@ else
fi
if [[ ${SYMBOLS} = NO ]]; then
- step "Stripping symbols from binaries…"
+ step "Stripping symbols from binaries"
if [[ ${BUILD_STATIC} == true ]]; then
strip -Sx "${OUTPUT}/static/${NAME}.framework/${NAME}"
fi
@@ -176,6 +176,27 @@ if [[ ${SYMBOLS} = NO ]]; then
fi
fi
+function get_comparable_uuid {
+ echo $(dwarfdump --uuid ${1} | sed -n 's/.*UUID:\([^\"]*\) .*/\1/p' | sort)
+}
+
+function validate_dsym {
+ step "Validating dSYM and framework UUIDs…"
+ DSYM_UUID=$(get_comparable_uuid "${1}")
+ FRAMEWORK_UUID=$(get_comparable_uuid "${2}")
+ echo -e "${1}\n ${DSYM_UUID}\n${2}\n ${FRAMEWORK_UUID}"
+ if [[ ${DSYM_UUID} != ${FRAMEWORK_UUID} ]]; then
+ echo "Error: dSYM and framework UUIDs do not match."
+ exit 1
+ fi
+}
+
+if [[ ${BUILD_DYNAMIC} == true && ${BUILDTYPE} == Release ]]; then
+ validate_dsym \
+ "${OUTPUT}/dynamic/${NAME}.framework.dSYM/Contents/Resources/DWARF/${NAME}" \
+ "${OUTPUT}/dynamic/${NAME}.framework/${NAME}"
+fi
+
function create_podspec {
step "Creating local podspec (${1})"
[[ $SYMBOLS = YES ]] && POD_SUFFIX="-symbols" || POD_SUFFIX=""