summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJason Wray <jason@mapbox.com>2018-09-25 17:15:09 -0700
committerJason Wray <friedbunny@users.noreply.github.com>2018-09-26 07:56:36 -0700
commita30bcff7257f6f6d2104f8d0e5b32f77266ac879 (patch)
tree84b676efef9c18c80e1ca5b493dd72ed3b15d92c
parent19eea5b9fe9ea0525a9601a065494af55f24a6ad (diff)
downloadqtlocation-mapboxgl-a30bcff7257f6f6d2104f8d0e5b32f77266ac879.tar.gz
[ios, build] Use make iframework for all packaging
-rw-r--r--Makefile19
-rw-r--r--platform/ios/DEVELOPING.md9
-rw-r--r--platform/ios/INSTALL.md4
-rwxr-xr-xplatform/ios/scripts/package.sh19
4 files changed, 18 insertions, 33 deletions
diff --git a/Makefile b/Makefile
index 20bf8cfa4e..25bbde1b3d 100644
--- a/Makefile
+++ b/Makefile
@@ -253,23 +253,13 @@ ios-static-analyzer: $(IOS_PROJ_PATH)
set -o pipefail && $(IOS_XCODEBUILD_SIM) analyze -scheme 'CI' test $(XCPRETTY)
.PHONY: ipackage
-ipackage: $(IOS_PROJ_PATH)
- FORMAT=$(FORMAT) BUILD_DEVICE=$(BUILD_DEVICE) SYMBOLS=$(SYMBOLS) \
- ./platform/ios/scripts/package.sh
-
-.PHONY: ipackage-strip
-ipackage-strip: $(IOS_PROJ_PATH)
- FORMAT=$(FORMAT) BUILD_DEVICE=$(BUILD_DEVICE) SYMBOLS=NO \
- ./platform/ios/scripts/package.sh
-
-.PHONY: ipackage-sim
-ipackage-sim: $(IOS_PROJ_PATH)
- BUILDTYPE=Debug FORMAT=dynamic BUILD_DEVICE=false SYMBOLS=$(SYMBOLS) \
- ./platform/ios/scripts/package.sh
+ipackage: ipackage*
+ipackage%:
+ @echo make ipackage is deprecated — use make iframework.
.PHONY: iframework
iframework: $(IOS_PROJ_PATH)
- FORMAT=dynamic BUILD_DEVICE=$(BUILD_DEVICE) SYMBOLS=$(SYMBOLS) \
+ FORMAT=$(FORMAT) BUILD_DEVICE=$(BUILD_DEVICE) SYMBOLS=$(SYMBOLS) \
./platform/ios/scripts/package.sh
.PHONY: ideploy
@@ -293,6 +283,7 @@ darwin-update-examples:
.PHONY: check-public-symbols
check-public-symbols:
node platform/darwin/scripts/check-public-symbols.js macOS iOS
+
endif
#### Linux targets #####################################################
diff --git a/platform/ios/DEVELOPING.md b/platform/ios/DEVELOPING.md
index 93f1061b05..31d9e754e8 100644
--- a/platform/ios/DEVELOPING.md
+++ b/platform/ios/DEVELOPING.md
@@ -36,14 +36,7 @@ Install [jazzy](https://github.com/realm/jazzy) for generating API documentation
[sudo] gem install jazzy
```
-Build and package the SDK by using one of the following commands:
-
-* `make ipackage` builds both dynamic and static frameworks in the Debug configuration for devices and the iOS Simulator.
-* `make iframework` builds a dynamic framework in the Debug configuration for devices and the iOS Simulator. The CocoaPods pod downloads the output of this target.
-* `make ipackage-sim` builds a dynamic framework in the Debug configuration for the iOS simulator. This is the fastest target.
-* `make ipackage-strip` builds both dynamic and static frameworks in the Debug configuration, stripped of debug symbols, for devices and the iOS Simulator.
-
-You can customize the build output by passing the following arguments into the `make` invocation:
+Build and package the SDK by using the `make iframework` command. You can customize the build output by passing the following arguments into the `make` invocation:
* `BUILDTYPE=Release` will optimize for distribution. Defaults to `Debug`.
* `BUILD_DEVICE=false` builds only for the iOS Simulator.
diff --git a/platform/ios/INSTALL.md b/platform/ios/INSTALL.md
index bfa7bf7ceb..25dbc53bdc 100644
--- a/platform/ios/INSTALL.md
+++ b/platform/ios/INSTALL.md
@@ -81,7 +81,7 @@ A nightly build of the dynamic framework, based on the master branch, is availab
You can alternatively install the SDK as a static framework:
-1. Build from source using the `make ipackage` command.
+1. Build from source using the `make iframework FORMAT=static BUILDTYPE=Release` command.
1. Drag the Mapbox.bundle and Mapbox.framework from the `build/ios/pkg/static/` directory into the Project navigator. In the sheet that appears, make sure “Copy items if needed” is checked, then click Finish. Open the project editor and select your application target to verify that the following changes occurred automatically:
@@ -109,7 +109,7 @@ You can alternatively install the SDK as a static framework:
To test pre-releases and/or betas, you can reference the pre-release like so in your Podfile:
```rb
-pod 'Mapbox-iOS-SDK', podspec: 'https://raw.githubusercontent.com/mapbox/mapbox-gl-native/<insert branch or tag>/platform/ios/Mapbox-iOS-SDK.podspec'
+pod 'Mapbox-iOS-SDK-symbols', podspec: 'https://raw.githubusercontent.com/mapbox/mapbox-gl-native/<insert branch or tag>/platform/ios/Mapbox-iOS-SDK-symbols.podspec'
```
##### Testing nightly releases with CocoaPods
diff --git a/platform/ios/scripts/package.sh b/platform/ios/scripts/package.sh
index 09b9e2a09c..2506540910 100755
--- a/platform/ios/scripts/package.sh
+++ b/platform/ios/scripts/package.sh
@@ -14,12 +14,15 @@ BUILDTYPE=${BUILDTYPE:-Debug}
BUILD_FOR_DEVICE=${BUILD_DEVICE:-true}
SYMBOLS=${SYMBOLS:-YES}
+FORMAT=${FORMAT:-dynamic}
BUILD_DYNAMIC=true
-BUILD_STATIC=true
+BUILD_STATIC=false
if [[ ${FORMAT} == "static" ]]; then
+ BUILD_STATIC=true
BUILD_DYNAMIC=false
-elif [[ ${FORMAT} == "dynamic" ]]; then
- BUILD_STATIC=false
+elif [[ ${FORMAT} != "dynamic" ]]; then
+ echo "Error: FORMAT must be dynamic or static."
+ exit 1
fi
SDK=iphonesimulator
@@ -32,7 +35,7 @@ function step { >&2 echo -e "\033[1m\033[36m* $@\033[0m"; }
function finish { >&2 echo -en "\033[0m"; }
trap finish EXIT
-step "Configuring ${FORMAT:-dynamic and static} ${BUILDTYPE} framework for ${SDK} ${IOS_SDK_VERSION}; symbols: ${SYMBOLS}"
+step "Configuring ${FORMAT} framework for ${SDK} ${IOS_SDK_VERSION} (symbols: ${SYMBOLS}, buildtype: ${BUILDTYPE})"
xcodebuild -version
@@ -59,13 +62,11 @@ SHORT_VERSION=${SEM_VERSION%-*}
step "Building targets (build ${PROJ_VERSION}, version ${SEM_VERSION})"
SCHEME='dynamic'
-if [[ ${BUILD_DYNAMIC} == true && ${BUILD_STATIC} == true ]]; then
- SCHEME+='+static'
-elif [[ ${BUILD_STATIC} == true ]]; then
+if [[ ${BUILD_STATIC} == true ]]; then
SCHEME='static'
fi
-step "Building for iOS Simulator using scheme ${SCHEME}"
+step "Building ${FORMAT} framework for iOS Simulator using ${SCHEME} scheme"
xcodebuild \
CURRENT_PROJECT_VERSION=${PROJ_VERSION} \
CURRENT_SHORT_VERSION=${SHORT_VERSION} \
@@ -80,7 +81,7 @@ xcodebuild \
-jobs ${JOBS} | tee ${LOG_PATH} | xcpretty
if [[ ${BUILD_FOR_DEVICE} == true ]]; then
- step "Building for iOS devices using scheme ${SCHEME}"
+ step "Building ${FORMAT} framework for iOS devices using ${SCHEME} scheme"
xcodebuild \
CURRENT_PROJECT_VERSION=${PROJ_VERSION} \
CURRENT_SHORT_VERSION=${SHORT_VERSION} \