diff options
-rw-r--r-- | Makefile | 5 | ||||
-rw-r--r-- | platform/ios/framework/Info-static.plist | 26 | ||||
-rw-r--r-- | platform/ios/framework/Info.plist | 6 | ||||
-rw-r--r-- | platform/ios/ios.xcodeproj/project.pbxproj | 107 | ||||
-rw-r--r-- | platform/ios/ios.xcodeproj/xcshareddata/xcschemes/dynamic+static.xcscheme | 14 | ||||
-rw-r--r-- | platform/ios/ios.xcodeproj/xcshareddata/xcschemes/static.xcscheme | 23 | ||||
-rwxr-xr-x | platform/ios/scripts/package.sh | 76 |
7 files changed, 200 insertions, 57 deletions
@@ -109,17 +109,14 @@ test-ios: ios ipackage: $(IOS_PROJ_PATH) BITCODE=$(BITCODE) FORMAT=$(FORMAT) BUILD_DEVICE=$(BUILD_DEVICE) SYMBOLS=$(SYMBOLS) \ - BUNDLE_RESOURCES=YES PLACE_RESOURCE_BUNDLES_OUTSIDE_FRAMEWORK=YES \ ./platform/ios/scripts/package.sh ipackage-strip: $(IOS_PROJ_PATH) BITCODE=$(BITCODE) FORMAT=$(FORMAT) BUILD_DEVICE=$(BUILD_DEVICE) SYMBOLS=NO \ - BUNDLE_RESOURCES=YES PLACE_RESOURCE_BUNDLES_OUTSIDE_FRAMEWORK=YES \ ./platform/ios/scripts/package.sh ipackage-sim: $(IOS_PROJ_PATH) BUILDTYPE=Debug BITCODE=$(BITCODE) FORMAT=dynamic BUILD_DEVICE=false SYMBOLS=$(SYMBOLS) \ - BUNDLE_RESOURCES=YES PLACE_RESOURCE_BUNDLES_OUTSIDE_FRAMEWORK=YES \ ./platform/ios/scripts/package.sh iframework: $(IOS_PROJ_PATH) @@ -127,7 +124,7 @@ iframework: $(IOS_PROJ_PATH) ./platform/ios/scripts/package.sh ifabric: $(IOS_PROJ_PATH) - BITCODE=$(BITCODE) FORMAT=static BUILD_DEVICE=$(BUILD_DEVICE) SYMBOLS=NO BUNDLE_RESOURCES=YES \ + BITCODE=$(BITCODE) FORMAT=static BUILD_DEVICE=$(BUILD_DEVICE) SYMBOLS=NO SELF_CONTAINED=YES \ ./platform/ios/scripts/package.sh idocument: diff --git a/platform/ios/framework/Info-static.plist b/platform/ios/framework/Info-static.plist new file mode 100644 index 0000000000..b42a23322d --- /dev/null +++ b/platform/ios/framework/Info-static.plist @@ -0,0 +1,26 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> +<plist version="1.0"> +<dict> + <key>CFBundleDevelopmentRegion</key> + <string>en</string> + <key>CFBundleIdentifier</key> + <string>$(PRODUCT_BUNDLE_IDENTIFIER)</string> + <key>CFBundleInfoDictionaryVersion</key> + <string>6.0</string> + <key>CFBundleName</key> + <string>$(PRODUCT_NAME)</string> + <key>CFBundleShortVersionString</key> + <string>$(CURRENT_SHORT_VERSION)</string> + <key>CFBundleSignature</key> + <string>????</string> + <key>CFBundleVersion</key> + <string>$(CURRENT_PROJECT_VERSION)</string> + <key>MGLCommitHash</key> + <string>$(CURRENT_COMMIT_HASH)</string> + <key>MGLSemanticVersionString</key> + <string>$(CURRENT_SEMANTIC_VERSION)</string> + <key>NSPrincipalClass</key> + <string></string> +</dict> +</plist> diff --git a/platform/ios/framework/Info.plist b/platform/ios/framework/Info.plist index d3de8eefb6..d8962c53ab 100644 --- a/platform/ios/framework/Info.plist +++ b/platform/ios/framework/Info.plist @@ -15,11 +15,15 @@ <key>CFBundlePackageType</key> <string>FMWK</string> <key>CFBundleShortVersionString</key> - <string>1.0</string> + <string>$(CURRENT_SHORT_VERSION)</string> <key>CFBundleSignature</key> <string>????</string> <key>CFBundleVersion</key> <string>$(CURRENT_PROJECT_VERSION)</string> + <key>MGLCommitHash</key> + <string>$(CURRENT_COMMIT_HASH)</string> + <key>MGLSemanticVersionString</key> + <string>$(CURRENT_SEMANTIC_VERSION)</string> <key>NSPrincipalClass</key> <string></string> </dict> diff --git a/platform/ios/ios.xcodeproj/project.pbxproj b/platform/ios/ios.xcodeproj/project.pbxproj index e12f36b237..f5ff1545e7 100644 --- a/platform/ios/ios.xcodeproj/project.pbxproj +++ b/platform/ios/ios.xcodeproj/project.pbxproj @@ -137,6 +137,22 @@ DA8933A31CCC95B000E68420 /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = DA89339F1CCC951200E68420 /* Localizable.strings */; }; DA8933BC1CCD2CA100E68420 /* Foundation.strings in Resources */ = {isa = PBXBuildFile; fileRef = DA8933BA1CCD2CA100E68420 /* Foundation.strings */; }; DA8933BF1CCD2CAD00E68420 /* Foundation.stringsdict in Resources */ = {isa = PBXBuildFile; fileRef = DA8933BD1CCD2CAD00E68420 /* Foundation.stringsdict */; }; + DA8933DB1CCD31D400E68420 /* Foundation.strings in Resources */ = {isa = PBXBuildFile; fileRef = DA8933BA1CCD2CA100E68420 /* Foundation.strings */; }; + DA8933DC1CCD31D400E68420 /* Foundation.stringsdict in Resources */ = {isa = PBXBuildFile; fileRef = DA8933BD1CCD2CAD00E68420 /* Foundation.stringsdict */; }; + DA8933DD1CCD31D400E68420 /* api_mapbox_com-digicert.der in Resources */ = {isa = PBXBuildFile; fileRef = DA8848771CBAFD5C00AB86E3 /* api_mapbox_com-digicert.der */; }; + DA8933DE1CCD31D400E68420 /* api_mapbox_com-geotrust.der in Resources */ = {isa = PBXBuildFile; fileRef = DA8848781CBAFD5C00AB86E3 /* api_mapbox_com-geotrust.der */; }; + DA8933DF1CCD31D400E68420 /* star_tilestream_net.der in Resources */ = {isa = PBXBuildFile; fileRef = DA8848791CBAFD5C00AB86E3 /* star_tilestream_net.der */; }; + DA8933E01CCD31DF00E68420 /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = DA89339F1CCC951200E68420 /* Localizable.strings */; }; + DA8933E11CCD31DF00E68420 /* Compass.png in Resources */ = {isa = PBXBuildFile; fileRef = DA8848631CBAFCC100AB86E3 /* Compass.png */; }; + DA8933E21CCD31DF00E68420 /* Compass@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = DA8848641CBAFCC100AB86E3 /* Compass@2x.png */; }; + DA8933E31CCD31DF00E68420 /* Compass@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = DA8848651CBAFCC100AB86E3 /* Compass@3x.png */; }; + DA8933E41CCD31DF00E68420 /* default_marker.png in Resources */ = {isa = PBXBuildFile; fileRef = DA8848661CBAFCC100AB86E3 /* default_marker.png */; }; + DA8933E51CCD31DF00E68420 /* default_marker@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = DA8848671CBAFCC100AB86E3 /* default_marker@2x.png */; }; + DA8933E61CCD31DF00E68420 /* default_marker@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = DA8848681CBAFCC100AB86E3 /* default_marker@3x.png */; }; + DA8933E71CCD31DF00E68420 /* mapbox.png in Resources */ = {isa = PBXBuildFile; fileRef = DA8848691CBAFCC100AB86E3 /* mapbox.png */; }; + DA8933E81CCD31DF00E68420 /* mapbox@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = DA88486A1CBAFCC100AB86E3 /* mapbox@2x.png */; }; + DA8933E91CCD31DF00E68420 /* mapbox@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = DA88486B1CBAFCC100AB86E3 /* mapbox@3x.png */; }; + DA8933F01CCD387900E68420 /* strip-frameworks.sh in Resources */ = {isa = PBXBuildFile; fileRef = DA8933EF1CCD387900E68420 /* strip-frameworks.sh */; }; DA8963371CC549A100684375 /* glyphs in Resources */ = {isa = PBXBuildFile; fileRef = DA8963331CC549A100684375 /* glyphs */; }; DA8963381CC549A100684375 /* sprites in Resources */ = {isa = PBXBuildFile; fileRef = DA8963341CC549A100684375 /* sprites */; }; DA8963391CC549A100684375 /* styles in Resources */ = {isa = PBXBuildFile; fileRef = DA8963351CC549A100684375 /* styles */; }; @@ -393,6 +409,9 @@ DA8933A01CCC951200E68420 /* Base */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = Base; path = Base.lproj/Localizable.strings; sourceTree = "<group>"; }; DA8933BB1CCD2CA100E68420 /* Base */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = Base; path = Base.lproj/Foundation.strings; sourceTree = "<group>"; }; DA8933BE1CCD2CAD00E68420 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.stringsdict; name = en; path = en.lproj/Foundation.stringsdict; sourceTree = "<group>"; }; + DA8933D51CCD306400E68420 /* Mapbox.bundle */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = Mapbox.bundle; sourceTree = BUILT_PRODUCTS_DIR; }; + DA8933EF1CCD387900E68420 /* strip-frameworks.sh */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; name = "strip-frameworks.sh"; path = "framework/strip-frameworks.sh"; sourceTree = SOURCE_ROOT; }; + DA8933F11CCD3FD700E68420 /* Info-static.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "Info-static.plist"; sourceTree = "<group>"; }; DA8963331CC549A100684375 /* glyphs */ = {isa = PBXFileReference; lastKnownFileType = folder; path = glyphs; sourceTree = "<group>"; }; DA8963341CC549A100684375 /* sprites */ = {isa = PBXFileReference; lastKnownFileType = folder; path = sprites; sourceTree = "<group>"; }; DA8963351CC549A100684375 /* styles */ = {isa = PBXFileReference; lastKnownFileType = folder; path = styles; sourceTree = "<group>"; }; @@ -485,6 +504,7 @@ DA8847D21CBAF91600AB86E3 /* Mapbox.framework */, DAA4E4131CBB71D400178DFB /* libMapbox.a */, DA2E88511CC036F400F24E7B /* test.xctest */, + DA8933D51CCD306400E68420 /* Mapbox.bundle */, ); name = Products; sourceTree = "<group>"; @@ -563,6 +583,7 @@ DA8848331CBAFB2A00AB86E3 /* Kit */, DA8848621CBAFCC100AB86E3 /* Kit Resources */, DA8847D61CBAF91600AB86E3 /* Info.plist */, + DA8933F11CCD3FD700E68420 /* Info-static.plist */, ); name = SDK; path = framework; @@ -663,6 +684,9 @@ isa = PBXGroup; children = ( DA89339F1CCC951200E68420 /* Localizable.strings */, + DA8848771CBAFD5C00AB86E3 /* api_mapbox_com-digicert.der */, + DA8848781CBAFD5C00AB86E3 /* api_mapbox_com-geotrust.der */, + DA8848791CBAFD5C00AB86E3 /* star_tilestream_net.der */, DA8848631CBAFCC100AB86E3 /* Compass.png */, DA8848641CBAFCC100AB86E3 /* Compass@2x.png */, DA8848651CBAFCC100AB86E3 /* Compass@3x.png */, @@ -672,6 +696,7 @@ DA8848691CBAFCC100AB86E3 /* mapbox.png */, DA88486A1CBAFCC100AB86E3 /* mapbox@2x.png */, DA88486B1CBAFCC100AB86E3 /* mapbox@3x.png */, + DA8933EF1CCD387900E68420 /* strip-frameworks.sh */, ); name = "Kit Resources"; path = resources; @@ -714,9 +739,6 @@ children = ( DA8933BA1CCD2CA100E68420 /* Foundation.strings */, DA8933BD1CCD2CAD00E68420 /* Foundation.stringsdict */, - DA8848771CBAFD5C00AB86E3 /* api_mapbox_com-digicert.der */, - DA8848781CBAFD5C00AB86E3 /* api_mapbox_com-geotrust.der */, - DA8848791CBAFD5C00AB86E3 /* star_tilestream_net.der */, ); name = "Foundation Resources"; path = ../../darwin/resources; @@ -924,6 +946,21 @@ productReference = DA8847D21CBAF91600AB86E3 /* Mapbox.framework */; productType = "com.apple.product-type.framework"; }; + DA8933D41CCD306400E68420 /* bundle */ = { + isa = PBXNativeTarget; + buildConfigurationList = DA8933D81CCD306400E68420 /* Build configuration list for PBXNativeTarget "bundle" */; + buildPhases = ( + DA8933D31CCD306400E68420 /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = bundle; + productName = bundle; + productReference = DA8933D51CCD306400E68420 /* Mapbox.bundle */; + productType = "com.apple.product-type.bundle"; + }; DAA4E4121CBB71D400178DFB /* static */ = { isa = PBXNativeTarget; buildConfigurationList = DAA4E4191CBB71D500178DFB /* Build configuration list for PBXNativeTarget "static" */; @@ -980,6 +1017,9 @@ DA8847D11CBAF91600AB86E3 = { CreatedOnToolsVersion = 7.3; }; + DA8933D41CCD306400E68420 = { + CreatedOnToolsVersion = 7.3; + }; DAA4E4121CBB71D400178DFB = { CreatedOnToolsVersion = 7.3; }; @@ -1005,6 +1045,7 @@ DABCABA71CB80692000A7C39 /* bench */, DA8847D11CBAF91600AB86E3 /* dynamic */, DAA4E4121CBB71D400178DFB /* static */, + DA8933D41CCD306400E68420 /* bundle */, DA2E88501CC036F400F24E7B /* test */, ); }; @@ -1049,12 +1090,35 @@ DA88486E1CBAFCC100AB86E3 /* Compass@2x.png in Resources */, DA8848701CBAFCC100AB86E3 /* default_marker.png in Resources */, DA8848711CBAFCC100AB86E3 /* default_marker@2x.png in Resources */, + DA8933F01CCD387900E68420 /* strip-frameworks.sh in Resources */, DA8848751CBAFCC100AB86E3 /* mapbox@3x.png in Resources */, DA88487B1CBAFD5C00AB86E3 /* api_mapbox_com-geotrust.der in Resources */, DA8933BF1CCD2CAD00E68420 /* Foundation.stringsdict in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; + DA8933D31CCD306400E68420 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + DA8933E01CCD31DF00E68420 /* Localizable.strings in Resources */, + DA8933E11CCD31DF00E68420 /* Compass.png in Resources */, + DA8933E21CCD31DF00E68420 /* Compass@2x.png in Resources */, + DA8933E31CCD31DF00E68420 /* Compass@3x.png in Resources */, + DA8933E41CCD31DF00E68420 /* default_marker.png in Resources */, + DA8933E51CCD31DF00E68420 /* default_marker@2x.png in Resources */, + DA8933E61CCD31DF00E68420 /* default_marker@3x.png in Resources */, + DA8933E71CCD31DF00E68420 /* mapbox.png in Resources */, + DA8933E81CCD31DF00E68420 /* mapbox@2x.png in Resources */, + DA8933E91CCD31DF00E68420 /* mapbox@3x.png in Resources */, + DA8933DB1CCD31D400E68420 /* Foundation.strings in Resources */, + DA8933DC1CCD31D400E68420 /* Foundation.stringsdict in Resources */, + DA8933DD1CCD31D400E68420 /* api_mapbox_com-digicert.der in Resources */, + DA8933DE1CCD31D400E68420 /* api_mapbox_com-geotrust.der in Resources */, + DA8933DF1CCD31D400E68420 /* star_tilestream_net.der in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; DABCABA61CB80692000A7C39 /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; @@ -1259,6 +1323,9 @@ CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; COPY_PHASE_STRIP = NO; + CURRENT_COMMIT_HASH = deadbeef; + CURRENT_SEMANTIC_VERSION = 1.0.0; + CURRENT_SHORT_VERSION = 1.0; DEBUG_INFORMATION_FORMAT = dwarf; ENABLE_STRICT_OBJC_MSGSEND = YES; ENABLE_TESTABILITY = YES; @@ -1305,6 +1372,9 @@ CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; COPY_PHASE_STRIP = NO; + CURRENT_COMMIT_HASH = deadbeef; + CURRENT_SEMANTIC_VERSION = 1.0.0; + CURRENT_SHORT_VERSION = 1.0; DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; ENABLE_NS_ASSERTIONS = NO; ENABLE_STRICT_OBJC_MSGSEND = YES; @@ -1455,6 +1525,28 @@ }; name = Release; }; + DA8933D91CCD306400E68420 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + INFOPLIST_FILE = "framework/Info-static.plist"; + PRODUCT_BUNDLE_IDENTIFIER = com.mapbox.sdk.ios; + PRODUCT_NAME = Mapbox; + SKIP_INSTALL = YES; + WRAPPER_EXTENSION = bundle; + }; + name = Debug; + }; + DA8933DA1CCD306400E68420 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + INFOPLIST_FILE = "framework/Info-static.plist"; + PRODUCT_BUNDLE_IDENTIFIER = com.mapbox.sdk.ios; + PRODUCT_NAME = Mapbox; + SKIP_INSTALL = YES; + WRAPPER_EXTENSION = bundle; + }; + name = Release; + }; DAA4E41A1CBB71D500178DFB /* Debug */ = { isa = XCBuildConfiguration; baseConfigurationReference = DAC07C961CBB2CD6000CB309 /* mbgl.xcconfig */; @@ -1578,6 +1670,15 @@ defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; + DA8933D81CCD306400E68420 /* Build configuration list for PBXNativeTarget "bundle" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + DA8933D91CCD306400E68420 /* Debug */, + DA8933DA1CCD306400E68420 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; DAA4E4191CBB71D500178DFB /* Build configuration list for PBXNativeTarget "static" */ = { isa = XCConfigurationList; buildConfigurations = ( diff --git a/platform/ios/ios.xcodeproj/xcshareddata/xcschemes/dynamic+static.xcscheme b/platform/ios/ios.xcodeproj/xcshareddata/xcschemes/dynamic+static.xcscheme index 4b50564e54..53a7e9c4ef 100644 --- a/platform/ios/ios.xcodeproj/xcshareddata/xcschemes/dynamic+static.xcscheme +++ b/platform/ios/ios.xcodeproj/xcshareddata/xcschemes/dynamic+static.xcscheme @@ -36,6 +36,20 @@ </BuildActionEntry> <BuildActionEntry buildForTesting = "YES" + buildForRunning = "YES" + buildForProfiling = "YES" + buildForArchiving = "YES" + buildForAnalyzing = "YES"> + <BuildableReference + BuildableIdentifier = "primary" + BlueprintIdentifier = "DA8933D41CCD306400E68420" + BuildableName = "Mapbox.bundle" + BlueprintName = "bundle" + ReferencedContainer = "container:ios.xcodeproj"> + </BuildableReference> + </BuildActionEntry> + <BuildActionEntry + buildForTesting = "YES" buildForRunning = "NO" buildForProfiling = "NO" buildForArchiving = "NO" diff --git a/platform/ios/ios.xcodeproj/xcshareddata/xcschemes/static.xcscheme b/platform/ios/ios.xcodeproj/xcshareddata/xcschemes/static.xcscheme index 6db7f773c7..ed9169f857 100644 --- a/platform/ios/ios.xcodeproj/xcshareddata/xcschemes/static.xcscheme +++ b/platform/ios/ios.xcodeproj/xcshareddata/xcschemes/static.xcscheme @@ -20,6 +20,20 @@ ReferencedContainer = "container:ios.xcodeproj"> </BuildableReference> </BuildActionEntry> + <BuildActionEntry + buildForTesting = "YES" + buildForRunning = "YES" + buildForProfiling = "YES" + buildForArchiving = "YES" + buildForAnalyzing = "YES"> + <BuildableReference + BuildableIdentifier = "primary" + BlueprintIdentifier = "DA8933D41CCD306400E68420" + BuildableName = "Mapbox.bundle" + BlueprintName = "bundle" + ReferencedContainer = "container:ios.xcodeproj"> + </BuildableReference> + </BuildActionEntry> </BuildActionEntries> </BuildAction> <TestAction @@ -29,6 +43,15 @@ shouldUseLaunchSchemeArgsEnv = "YES"> <Testables> </Testables> + <MacroExpansion> + <BuildableReference + BuildableIdentifier = "primary" + BlueprintIdentifier = "DAA4E4121CBB71D400178DFB" + BuildableName = "libMapbox.a" + BlueprintName = "static" + ReferencedContainer = "container:ios.xcodeproj"> + </BuildableReference> + </MacroExpansion> <AdditionalOptions> </AdditionalOptions> </TestAction> diff --git a/platform/ios/scripts/package.sh b/platform/ios/scripts/package.sh index e1f07ff435..11ee999392 100755 --- a/platform/ios/scripts/package.sh +++ b/platform/ios/scripts/package.sh @@ -21,25 +21,19 @@ elif [[ ${FORMAT} == "dynamic" ]]; then BUILD_STATIC=false fi -BUNDLE_RESOURCES=${BUNDLE_RESOURCES:-} -BUNDLE_PATH= -if [[ ${BUNDLE_RESOURCES} ]]; then - BUNDLE_PATH="/${NAME}.bundle" -fi - -PLACE_RESOURCE_BUNDLES_OUTSIDE_FRAMEWORK=${PLACE_RESOURCE_BUNDLES_OUTSIDE_FRAMEWORK:-} -STATIC_BUNDLE_PATH= -if [[ ${PLACE_RESOURCE_BUNDLES_OUTSIDE_FRAMEWORK} ]]; then - STATIC_BUNDLE_PATH="${OUTPUT}/static${BUNDLE_PATH}" +SELF_CONTAINED=${SELF_CONTAINED:-} +STATIC_BUNDLE_DIR= +if [[ ${SELF_CONTAINED} ]]; then + STATIC_BUNDLE_DIR="${OUTPUT}/static/${NAME}.framework" else - STATIC_BUNDLE_PATH="${OUTPUT}/static/${NAME}.framework${BUNDLE_PATH}" + STATIC_BUNDLE_DIR="${OUTPUT}/static" fi -STATIC_SETTINGS_DIRECTORY= -if [[ ${PLACE_RESOURCE_BUNDLES_OUTSIDE_FRAMEWORK} ]]; then - STATIC_SETTINGS_DIRECTORY="${OUTPUT}" +STATIC_SETTINGS_DIR= +if [[ ${SELF_CONTAINED} ]]; then + STATIC_SETTINGS_DIR="${OUTPUT}/static/${NAME}.framework" else - STATIC_SETTINGS_DIRECTORY="${OUTPUT}/static/${NAME}.framework" + STATIC_SETTINGS_DIR="${OUTPUT}" fi SDK=iphonesimulator @@ -48,7 +42,7 @@ if [[ ${BUILD_FOR_DEVICE} == true ]]; then fi IOS_SDK_VERSION=`xcrun --sdk ${SDK} --show-sdk-version` -echo "Configuring ${FORMAT:-dynamic and static} ${BUILDTYPE} framework for ${SDK}; symbols: ${GCC_GENERATE_DEBUGGING_SYMBOLS}; Mapbox.bundle: ${BUNDLE_RESOURCES} bundle.outside: ${PLACE_RESOURCE_BUNDLES_OUTSIDE_FRAMEWORK}" +echo "Configuring ${FORMAT:-dynamic and static} ${BUILDTYPE} framework for ${SDK}; symbols: ${GCC_GENERATE_DEBUGGING_SYMBOLS}; self-contained static framework: ${SELF_CONTAINED:-NO}" function step { >&2 echo -e "\033[1m\033[36m* $@\033[0m"; } function finish { >&2 echo -en "\033[0m"; } @@ -71,10 +65,11 @@ echo -n "mapbox-gl-native " echo ${HASH} echo ${HASH} >> ${VERSION} - PROJ_VERSION=$(git rev-list --count HEAD) +SEM_VERSION=$( git describe --tags --match=ios-v*.*.* --abbrev=0 | sed 's/^ios-v//' ) +SHORT_VERSION=${SEM_VERSION%-*} -step "Building targets (build ${PROJ_VERSION})…" +step "Building targets (build ${PROJ_VERSION}, version ${SEM_VERSION})…" SCHEME='dynamic' if [[ ${BUILD_DYNAMIC} == true && ${BUILD_STATIC} == true ]]; then @@ -86,6 +81,9 @@ fi 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/ios/ios.xcworkspace \ -scheme ${SCHEME} \ @@ -97,6 +95,9 @@ if [[ ${BUILD_FOR_DEVICE} == true ]]; then 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/ios/ios.xcworkspace \ -scheme ${SCHEME} \ @@ -117,6 +118,8 @@ if [[ "${BUILD_FOR_DEVICE}" == true ]]; then -o ${OUTPUT}/static/${NAME}.framework/${NAME} \ ${LIBS[@]/#/${PRODUCTS}/${BUILDTYPE}-iphoneos/libmbgl-} \ ${LIBS[@]/#/${PRODUCTS}/${BUILDTYPE}-iphonesimulator/libmbgl-} + + cp -rv ${PRODUCTS}/${BUILDTYPE}-iphoneos/${NAME}.bundle ${STATIC_BUNDLE_DIR} fi if [[ ${BUILD_DYNAMIC} == true ]]; then @@ -143,6 +146,8 @@ else `find mason_packages/ios-${IOS_SDK_VERSION} -type f -name libgeojsonvt.a` \ -o ${OUTPUT}/static/${NAME}.framework/${NAME} \ ${LIBS[@]/#/${PRODUCTS}/${BUILDTYPE}-iphonesimulator/libmbgl-} + + cp -rv ${PRODUCTS}/${BUILDTYPE}-iphonesimulator/${NAME}.bundle ${STATIC_BUNDLE_DIR} fi if [[ ${BUILD_DYNAMIC} == true ]]; then @@ -182,41 +187,14 @@ if [[ ${BUILD_STATIC} == true ]]; then fi step "Copying library resources…" -SEM_VERSION=$( git describe --tags --match=ios-v*.*.* --abbrev=0 | sed 's/^ios-v//' ) -SHORT_VERSION=${SEM_VERSION%-*} -if [[ ${BUNDLE_RESOURCES} ]]; then - cp -pv LICENSE.md ${STATIC_SETTINGS_DIRECTORY} - cp -rv platform/ios/framework/Settings.bundle ${STATIC_SETTINGS_DIRECTORY} -else - cp -pv LICENSE.md "${OUTPUT}" - cp -rv platform/ios/framework/Settings.bundle "${OUTPUT}" -fi +cp -pv LICENSE.md ${STATIC_SETTINGS_DIR} +cp -rv platform/ios/framework/Settings.bundle ${STATIC_SETTINGS_DIR} if [[ ${BUILD_STATIC} == true ]]; then - mkdir -p ${STATIC_BUNDLE_PATH} - cp -pv platform/{default,ios}/resources/* ${STATIC_BUNDLE_PATH} - INFO_PLIST_PATH="${OUTPUT}/static/${NAME}.framework/Info.plist" - cp -pv platform/ios/framework/Info.plist "${INFO_PLIST_PATH}" - plutil -remove CFBundleExecutable "${INFO_PLIST_PATH}" - plutil -remove CFBundlePackageType "${INFO_PLIST_PATH}" - plutil -replace CFBundleIdentifier -string com.mapbox.sdk.ios "${INFO_PLIST_PATH}" - plutil -replace CFBundleName -string ${NAME} "${INFO_PLIST_PATH}" - plutil -replace CFBundleShortVersionString -string "${SHORT_VERSION}" "${INFO_PLIST_PATH}" - plutil -replace CFBundleVersion -string ${PROJ_VERSION} "${INFO_PLIST_PATH}" - plutil -replace MGLSemanticVersionString -string "${SEM_VERSION}" "${INFO_PLIST_PATH}" - plutil -replace MGLCommitHash -string "${HASH}" "${INFO_PLIST_PATH}" - if [[ ${BUNDLE_RESOURCES} ]]; then - cp -pv "${INFO_PLIST_PATH}" "${STATIC_BUNDLE_PATH}/Info.plist" - fi + cp -pv "${STATIC_BUNDLE_DIR}/${NAME}.bundle/Info.plist" "${OUTPUT}/static/${NAME}.framework/Info.plist" + plutil -replace CFBundlePackageType -string FMWK "${OUTPUT}/static/${NAME}.framework/Info.plist" mkdir "${OUTPUT}/static/${NAME}.framework/Modules" cp -pv platform/ios/framework/modulemap "${OUTPUT}/static/${NAME}.framework/Modules/module.modulemap" fi -if [[ ${BUILD_DYNAMIC} == true ]]; then - plutil -replace CFBundleShortVersionString -string "${SHORT_VERSION}" "${OUTPUT}/dynamic/${NAME}.framework/Info.plist" - plutil -replace CFBundleVersion -string "${PROJ_VERSION}" "${OUTPUT}/dynamic/${NAME}.framework/Info.plist" - plutil -replace MGLSemanticVersionString -string "${SEM_VERSION}" "${OUTPUT}/dynamic/${NAME}.framework/Info.plist" - plutil -replace MGLCommitHash -string "${HASH}" "${OUTPUT}/dynamic/${NAME}.framework/Info.plist" - cp -pv platform/ios/framework/strip-frameworks.sh "${OUTPUT}/dynamic/${NAME}.framework/strip-frameworks.sh" -fi sed -n -e '/^## /,$p' platform/ios/CHANGELOG.md > "${OUTPUT}/CHANGELOG.md" rm -rf /tmp/mbgl |