[ios] Adopt Apple Generic Versioning

This commit is contained in:
Minh Nguyễn
2020-05-01 12:44:47 -07:00
parent 9c95ed9b99
commit 8eba0f6594
7 changed files with 54 additions and 34 deletions

View File

@@ -81,8 +81,8 @@ OTHER_SWIFT_FLAGS = -warnings-as-errors
// User defined
BITCODE_GENERATION_MODE = bitcode
CURRENT_COMMIT_HASH = deadbeef
CURRENT_SEMANTIC_VERSION = 1.0.0
CURRENT_SHORT_VERSION = 1.0
CURRENT_SEMANTIC_VERSION = 0.0.0
CURRENT_SHORT_VERSION = 0.0
// TODO:
CLANG_USE_OPTIMIZATION_PROFILE = NO

View File

@@ -67,7 +67,7 @@
XCTAssertEqualObjects([infos[3] feedbackURLAtCenterCoordinate:mapbox zoomLevel:14],
[NSURL URLWithString:urlString]);
urlString = [NSString stringWithFormat:@"https://apps.mapbox.com/feedback/?referrer=%@&owner=mapbox&id=satellite-streets-v99&access_token=pk.feedcafedeadbeefbadebede&map_sdk_version=1.0.0#/77.63680/12.98108/3.14/90.9/13", bundleId];
urlString = [NSString stringWithFormat:@"https://apps.mapbox.com/feedback/?referrer=%@&owner=mapbox&id=satellite-streets-v99&access_token=pk.feedcafedeadbeefbadebede&map_sdk_version=0.0.0#/77.63680/12.98108/3.14/90.9/13", bundleId];
XCTAssertEqualObjects([infos[3] feedbackURLForStyleURL:styleURL atCenterCoordinate:mapbox zoomLevel:3.14159 direction:90.9 pitch:12.5],
[NSURL URLWithString:urlString]);
}

View File

@@ -9,12 +9,7 @@
@implementation MGLVersionTests
- (void)testVersionNumber {
#if TARGET_OS_IPHONE
XCTAssertEqual(1, MapboxVersionNumber);
#else
XCTAssertGreaterThan(MapboxVersionNumber, 1);
XCTAssertGreaterThan(MapboxVersionString[0] + MapboxVersionString[1] + MapboxVersionString[2], 0);
#endif
XCTAssertGreaterThanOrEqual(MapboxVersionNumber, 0);
}
@end

View File

@@ -3601,6 +3601,7 @@
CLANG_ENABLE_MODULES = YES;
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
COPY_PHASE_STRIP = NO;
CURRENT_PROJECT_VERSION = 15254;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
ENABLE_NS_ASSERTIONS = NO;
GCC_PREPROCESSOR_DEFINITIONS = "";
@@ -3612,6 +3613,7 @@
SYMROOT = ../../build/ios;
TARGETED_DEVICE_FAMILY = "1,2";
VALIDATE_PRODUCT = YES;
VERSIONING_SYSTEM = "apple-generic";
};
name = RelWithDebInfo;
};
@@ -3623,7 +3625,7 @@
CLANG_ANALYZER_LOCALIZABILITY_EMPTY_CONTEXT = NO;
CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = NO;
DEVELOPMENT_TEAM = GJZR2MEM28;
INFOPLIST_FILE = "$(SRCROOT)/app/Info.plist";
INFOPLIST_FILE = app/Info.plist;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
PRODUCT_BUNDLE_IDENTIFIER = com.mapbox.MapboxGL;
PRODUCT_NAME = "Mapbox GL";
@@ -3650,7 +3652,7 @@
"$(PROJECT_DIR)/../../vendor/mapbox-gl-native/vendor/expected/include",
"$(PROJECT_DIR)/../../platform/darwin/include",
);
INFOPLIST_FILE = "$(SRCROOT)/benchmark/Info.plist";
INFOPLIST_FILE = benchmark/Info.plist;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
PRODUCT_BUNDLE_IDENTIFIER = com.mapbox.bench;
PRODUCT_NAME = "Bench GL";
@@ -3663,10 +3665,9 @@
buildSettings = {
BITCODE_GENERATION_MODE = bitcode;
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "";
CURRENT_PROJECT_VERSION = 1;
DEFINES_MODULE = YES;
DYLIB_COMPATIBILITY_VERSION = 1;
DYLIB_CURRENT_VERSION = 1;
DYLIB_CURRENT_VERSION = 15254;
DYLIB_INSTALL_NAME_BASE = "@rpath";
GCC_PREPROCESSOR_DEFINITIONS = "NDEBUG=1";
INFOPLIST_FILE = framework/Info.plist;
@@ -3676,7 +3677,6 @@
PRODUCT_BUNDLE_IDENTIFIER = com.mapbox.Mapbox;
PRODUCT_NAME = Mapbox;
SKIP_INSTALL = YES;
VERSIONING_SYSTEM = "apple-generic";
VERSION_INFO_PREFIX = "__attribute__((visibility (\"default\"))) ";
};
name = RelWithDebInfo;
@@ -3687,6 +3687,7 @@
buildSettings = {
BITCODE_GENERATION_MODE = bitcode;
DEFINES_MODULE = YES;
DYLIB_CURRENT_VERSION = 15254;
HEADER_SEARCH_PATHS = (
"$(PROJECT_DIR)/../../vendor/mapbox-gl-native/include",
"$(PROJECT_DIR)/../../vendor/mapbox-gl-native/platform/default/include",
@@ -3818,6 +3819,7 @@
CLANG_ENABLE_MODULES = YES;
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
COPY_PHASE_STRIP = NO;
CURRENT_PROJECT_VERSION = 15254;
DEBUG_INFORMATION_FORMAT = dwarf;
ENABLE_TESTABILITY = YES;
GCC_OPTIMIZATION_LEVEL = 0;
@@ -3831,6 +3833,7 @@
SDKROOT = iphoneos;
SYMROOT = ../../build/ios;
TARGETED_DEVICE_FAMILY = "1,2";
VERSIONING_SYSTEM = "apple-generic";
};
name = Debug;
};
@@ -3840,6 +3843,7 @@
CLANG_ENABLE_MODULES = YES;
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
COPY_PHASE_STRIP = NO;
CURRENT_PROJECT_VERSION = 15254;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
ENABLE_NS_ASSERTIONS = NO;
GCC_PREPROCESSOR_DEFINITIONS = "";
@@ -3851,6 +3855,7 @@
SYMROOT = ../../build/ios;
TARGETED_DEVICE_FAMILY = "1,2";
VALIDATE_PRODUCT = YES;
VERSIONING_SYSTEM = "apple-generic";
};
name = Release;
};
@@ -3862,7 +3867,7 @@
CLANG_ANALYZER_LOCALIZABILITY_EMPTY_CONTEXT = NO;
CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = NO;
DEVELOPMENT_TEAM = GJZR2MEM28;
INFOPLIST_FILE = "$(SRCROOT)/app/Info.plist";
INFOPLIST_FILE = app/Info.plist;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
PRODUCT_BUNDLE_IDENTIFIER = com.mapbox.MapboxGL;
PRODUCT_NAME = "Mapbox GL";
@@ -3877,7 +3882,7 @@
CLANG_ANALYZER_LOCALIZABILITY_EMPTY_CONTEXT = NO;
CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = NO;
DEVELOPMENT_TEAM = GJZR2MEM28;
INFOPLIST_FILE = "$(SRCROOT)/app/Info.plist";
INFOPLIST_FILE = app/Info.plist;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
PRODUCT_BUNDLE_IDENTIFIER = com.mapbox.MapboxGL;
PRODUCT_NAME = "Mapbox GL";
@@ -3943,10 +3948,9 @@
buildSettings = {
BITCODE_GENERATION_MODE = bitcode;
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "";
CURRENT_PROJECT_VERSION = 1;
DEFINES_MODULE = YES;
DYLIB_COMPATIBILITY_VERSION = 1;
DYLIB_CURRENT_VERSION = 1;
DYLIB_CURRENT_VERSION = 15254;
DYLIB_INSTALL_NAME_BASE = "@rpath";
INFOPLIST_FILE = framework/Info.plist;
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
@@ -3954,7 +3958,6 @@
PRODUCT_BUNDLE_IDENTIFIER = com.mapbox.Mapbox;
PRODUCT_NAME = Mapbox;
SKIP_INSTALL = YES;
VERSIONING_SYSTEM = "apple-generic";
VERSION_INFO_PREFIX = "__attribute__((visibility (\"default\"))) ";
};
name = Debug;
@@ -3965,11 +3968,10 @@
buildSettings = {
BITCODE_GENERATION_MODE = bitcode;
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "";
CURRENT_PROJECT_VERSION = 1;
DEFINES_MODULE = YES;
DEPLOYMENT_POSTPROCESSING = YES;
DYLIB_COMPATIBILITY_VERSION = 1;
DYLIB_CURRENT_VERSION = 1;
DYLIB_CURRENT_VERSION = 15254;
DYLIB_INSTALL_NAME_BASE = "@rpath";
GCC_PREPROCESSOR_DEFINITIONS = "NDEBUG=1";
INFOPLIST_FILE = framework/Info.plist;
@@ -3980,7 +3982,6 @@
PRODUCT_NAME = Mapbox;
SKIP_INSTALL = YES;
STRIP_STYLE = "non-global";
VERSIONING_SYSTEM = "apple-generic";
VERSION_INFO_PREFIX = "__attribute__((visibility (\"default\"))) ";
};
name = Release;
@@ -4013,6 +4014,7 @@
buildSettings = {
BITCODE_GENERATION_MODE = bitcode;
DEFINES_MODULE = YES;
DYLIB_CURRENT_VERSION = 15254;
HEADER_SEARCH_PATHS = (
"$(PROJECT_DIR)/../../vendor/mapbox-gl-native/include",
"$(PROJECT_DIR)/../../vendor/mapbox-gl-native/platform/default/include",
@@ -4052,6 +4054,7 @@
BITCODE_GENERATION_MODE = bitcode;
DEFINES_MODULE = YES;
DEPLOYMENT_POSTPROCESSING = YES;
DYLIB_CURRENT_VERSION = 15254;
HEADER_SEARCH_PATHS = (
"$(PROJECT_DIR)/../../vendor/mapbox-gl-native/include",
"$(PROJECT_DIR)/../../vendor/mapbox-gl-native/platform/default/include",
@@ -4106,7 +4109,7 @@
"$(PROJECT_DIR)/../../vendor/mapbox-gl-native/vendor/expected/include",
"$(PROJECT_DIR)/../../platform/darwin/include",
);
INFOPLIST_FILE = "$(SRCROOT)/benchmark/Info.plist";
INFOPLIST_FILE = benchmark/Info.plist;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
PRODUCT_BUNDLE_IDENTIFIER = com.mapbox.bench;
PRODUCT_NAME = "Bench GL";
@@ -4133,7 +4136,7 @@
"$(PROJECT_DIR)/../../vendor/mapbox-gl-native/vendor/expected/include",
"$(PROJECT_DIR)/../../platform/darwin/include",
);
INFOPLIST_FILE = "$(SRCROOT)/benchmark/Info.plist";
INFOPLIST_FILE = benchmark/Info.plist;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
PRODUCT_BUNDLE_IDENTIFIER = com.mapbox.bench;
PRODUCT_NAME = "Bench GL";

View File

@@ -85,8 +85,6 @@ fi
step "Building ${FORMAT} framework for iOS Simulator using ${SCHEME} scheme"
xcodebuild \
CURRENT_PROJECT_VERSION=${PROJ_VERSION} \
CURRENT_SHORT_VERSION=${SHORT_VERSION} \
CURRENT_SEMANTIC_VERSION=${SEM_VERSION} \
CURRENT_COMMIT_HASH=${HASH} \
ONLY_ACTIVE_ARCH=NO \
@@ -101,8 +99,6 @@ xcodebuild \
if [[ ${BUILD_FOR_DEVICE} == true ]]; then
step "Building ${FORMAT} framework for iOS devices using ${SCHEME} scheme"
xcodebuild \
CURRENT_PROJECT_VERSION=${PROJ_VERSION} \
CURRENT_SHORT_VERSION=${SHORT_VERSION} \
CURRENT_SEMANTIC_VERSION=${SEM_VERSION} \
CURRENT_COMMIT_HASH=${HASH} \
ONLY_ACTIVE_ARCH=NO \

View File

@@ -0,0 +1,32 @@
#!/usr/bin/env bash
set -e
set -o pipefail
set -u
function step { >&2 echo -e "\033[1m\033[36m* $@\033[0m"; }
function finish { >&2 echo -en "\033[0m"; }
trap finish EXIT
if [ $# -eq 0 ]; then
echo "Usage: v<semantic version>"
exit 1
fi
SEM_VERSION=$1
SEM_VERSION=${SEM_VERSION/#macos-}
SEM_VERSION=${SEM_VERSION/#v}
SHORT_VERSION=${SEM_VERSION%-*}
step "Version ${SEM_VERSION}"
cd platform/ios/
step "Updating Xcode targets to version ${SHORT_VERSION}…"
xcrun agvtool bump -all
xcrun agvtool new-marketing-version "${SHORT_VERSION}"
step "Updating CocoaPods podspecs to version ${SEM_VERSION}…"
find . -type f -name '*.podspec' -exec sed -i '' "s/^ *version *=.*$/ version = '${SEM_VERSION}'/" {} +

View File

@@ -2009,8 +2009,6 @@
COPY_PHASE_STRIP = NO;
CURRENT_COMMIT_HASH = deadbeef;
CURRENT_PROJECT_VERSION = 15254;
CURRENT_SEMANTIC_VERSION = 0.15.0;
CURRENT_SHORT_VERSION = 0.15.0;
DEBUG_INFORMATION_FORMAT = dwarf;
ENABLE_STRICT_OBJC_MSGSEND = YES;
ENABLE_TESTABILITY = YES;
@@ -2078,8 +2076,6 @@
COPY_PHASE_STRIP = NO;
CURRENT_COMMIT_HASH = deadbeef;
CURRENT_PROJECT_VERSION = 15254;
CURRENT_SEMANTIC_VERSION = 0.15.0;
CURRENT_SHORT_VERSION = 0.15.0;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
ENABLE_NS_ASSERTIONS = NO;
ENABLE_STRICT_OBJC_MSGSEND = YES;
@@ -2182,7 +2178,6 @@
PRODUCT_BUNDLE_IDENTIFIER = com.mapbox.Mapbox;
PRODUCT_NAME = Mapbox;
SKIP_INSTALL = YES;
VERSIONING_SYSTEM = "apple-generic";
VERSION_INFO_PREFIX = "__attribute__((visibility (\"default\"))) ";
};
name = Debug;
@@ -2208,7 +2203,6 @@
PRODUCT_NAME = Mapbox;
SKIP_INSTALL = YES;
STRIP_STYLE = "non-global";
VERSIONING_SYSTEM = "apple-generic";
VERSION_INFO_PREFIX = "__attribute__((visibility (\"default\"))) ";
};
name = Release;