diff options
author | Jason Wray <jason@mapbox.com> | 2018-09-25 17:15:09 -0700 |
---|---|---|
committer | Jason Wray <friedbunny@users.noreply.github.com> | 2018-09-26 07:56:36 -0700 |
commit | a30bcff7257f6f6d2104f8d0e5b32f77266ac879 (patch) | |
tree | 84b676efef9c18c80e1ca5b493dd72ed3b15d92c | |
parent | 19eea5b9fe9ea0525a9601a065494af55f24a6ad (diff) | |
download | qtlocation-mapboxgl-a30bcff7257f6f6d2104f8d0e5b32f77266ac879.tar.gz |
[ios, build] Use make iframework for all packaging
-rw-r--r-- | Makefile | 19 | ||||
-rw-r--r-- | platform/ios/DEVELOPING.md | 9 | ||||
-rw-r--r-- | platform/ios/INSTALL.md | 4 | ||||
-rwxr-xr-x | platform/ios/scripts/package.sh | 19 |
4 files changed, 18 insertions, 33 deletions
@@ -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} \ |