提交 39ca953d 编写于 作者: C Christian Noon

Added ReleaseTest configuration to allow running tests against optimized build.

It is not possible to run the test suite with the ENABLE_TESTABILITY flag set to NO. It is also not recommended by Apple to set the ENABLE_TESTABILITY flag to YES for release builds. In order to still be able to run the optimized build of the framework against the test suite, the ReleaseTest configuration was created. It optimizes the framework as well as sets the ENABLE_TESTABILITY flag to YES. This allows the test suite to run on Travis-CI in the ReleaseTest configuration, and does not affect Carthage installation.
上级 ed5776b5
language: objective-c
osx_image: xcode7.1
osx_image: xcode7.2
env:
global:
- LC_CTYPE=en_US.UTF-8
......@@ -9,7 +9,7 @@ env:
- OSX_FRAMEWORK_SCHEME="Alamofire OSX"
- TVOS_FRAMEWORK_SCHEME="Alamofire tvOS"
- WATCHOS_FRAMEWORK_SCHEME="Alamofire watchOS"
- IOS_SDK=iphonesimulator9.1
- IOS_SDK=iphonesimulator9.2
- OSX_SDK=macosx10.11
- TVOS_SDK=appletvsimulator9.0
- WATCHOS_SDK=watchsimulator2.0
......@@ -21,12 +21,10 @@ env:
- DESTINATION="OS=8.4,name=iPhone 6" SCHEME="$IOS_FRAMEWORK_SCHEME" SDK="$IOS_SDK" RUN_TESTS="YES" BUILD_EXAMPLE="YES" POD_LINT="NO"
- DESTINATION="OS=9.0,name=iPhone 6 Plus" SCHEME="$IOS_FRAMEWORK_SCHEME" SDK="$IOS_SDK" RUN_TESTS="YES" BUILD_EXAMPLE="YES" POD_LINT="NO"
- DESTINATION="OS=9.1,name=iPhone 6S" SCHEME="$IOS_FRAMEWORK_SCHEME" SDK="$IOS_SDK" RUN_TESTS="YES" BUILD_EXAMPLE="YES" POD_LINT="NO"
- DESTINATION="OS=9.2,name=iPhone 6S Plus" SCHEME="$IOS_FRAMEWORK_SCHEME" SDK="$IOS_SDK" RUN_TESTS="YES" BUILD_EXAMPLE="YES" POD_LINT="NO"
- DESTINATION="arch=x86_64" SCHEME="$OSX_FRAMEWORK_SCHEME" SDK="$OSX_SDK" RUN_TESTS="YES" BUILD_EXAMPLE="NO" POD_LINT="NO"
- DESTINATION="OS=9.0,name=Apple TV 1080p" SCHEME="$TVOS_FRAMEWORK_SCHEME" SDK="$TVOS_SDK" RUN_TESTS="YES" BUILD_EXAMPLE="NO" POD_LINT="NO"
- DESTINATION="OS=2.0,name=Apple Watch - 38mm" SCHEME="$WATCHOS_FRAMEWORK_SCHEME" SDK="$WATCHOS_SDK" RUN_TESTS="NO" BUILD_EXAMPLE="NO" POD_LINT="NO"
before_install:
- gem install cocoapods --no-rdoc --no-ri --no-document --quiet
- gem install xcpretty --no-rdoc --no-ri --no-document --quiet
script:
- set -o pipefail
- xcodebuild -version
......@@ -39,11 +37,11 @@ script:
xcodebuild -workspace "$WORKSPACE" -scheme "$SCHEME" -sdk "$SDK" -destination "$DESTINATION" -configuration Debug ONLY_ACTIVE_ARCH=NO build | xcpretty -c;
fi
# Build Framework in Release and Run Tests if specified
# Build Framework in ReleaseTest and Run Tests if specified
- if [ $RUN_TESTS == "YES" ]; then
xcodebuild -workspace "$WORKSPACE" -scheme "$SCHEME" -sdk "$SDK" -destination "$DESTINATION" -configuration Release ONLY_ACTIVE_ARCH=NO test | xcpretty -c;
xcodebuild -workspace "$WORKSPACE" -scheme "$SCHEME" -sdk "$SDK" -destination "$DESTINATION" -configuration ReleaseTest ONLY_ACTIVE_ARCH=NO test | xcpretty -c;
else
xcodebuild -workspace "$WORKSPACE" -scheme "$SCHEME" -sdk "$SDK" -destination "$DESTINATION" -configuration Release ONLY_ACTIVE_ARCH=NO build | xcpretty -c;
xcodebuild -workspace "$WORKSPACE" -scheme "$SCHEME" -sdk "$SDK" -destination "$DESTINATION" -configuration ReleaseTest ONLY_ACTIVE_ARCH=NO build | xcpretty -c;
fi
# Build Example in Debug if specified
......
......@@ -1087,6 +1087,206 @@
/* End PBXTargetDependency section */
/* Begin XCBuildConfiguration section */
4C0FFAF81C212C71009085A1 /* ReleaseTest */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
CLANG_CXX_LIBRARY = "libc++";
CLANG_ENABLE_MODULES = YES;
CLANG_ENABLE_OBJC_ARC = YES;
CLANG_WARN_BOOL_CONVERSION = YES;
CLANG_WARN_CONSTANT_CONVERSION = YES;
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
CLANG_WARN_EMPTY_BODY = YES;
CLANG_WARN_ENUM_CONVERSION = YES;
CLANG_WARN_INT_CONVERSION = YES;
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
CLANG_WARN_UNREACHABLE_CODE = YES;
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
CODE_SIGN_IDENTITY = "iPhone Developer";
COPY_PHASE_STRIP = YES;
CURRENT_PROJECT_VERSION = 1;
ENABLE_NS_ASSERTIONS = NO;
ENABLE_STRICT_OBJC_MSGSEND = YES;
GCC_C_LANGUAGE_STANDARD = gnu99;
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
GCC_WARN_UNDECLARED_SELECTOR = YES;
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
IPHONEOS_DEPLOYMENT_TARGET = 8.0;
MACOSX_DEPLOYMENT_TARGET = 10.9;
MTL_ENABLE_DEBUG_INFO = NO;
SDKROOT = iphoneos;
TARGETED_DEVICE_FAMILY = "1,2";
TVOS_DEPLOYMENT_TARGET = 9.0;
VALIDATE_PRODUCT = YES;
VERSIONING_SYSTEM = "apple-generic";
VERSION_INFO_PREFIX = "";
WATCHOS_DEPLOYMENT_TARGET = 2.0;
};
name = ReleaseTest;
};
4C0FFAF91C212C71009085A1 /* ReleaseTest */ = {
isa = XCBuildConfiguration;
buildSettings = {
APPLICATION_EXTENSION_API_ONLY = YES;
BITCODE_GENERATION_MODE = bitcode;
CLANG_ENABLE_MODULES = YES;
CODE_SIGN_IDENTITY = "iPhone Developer";
"CODE_SIGN_IDENTITY[sdk=iphonesimulator*]" = "";
DEFINES_MODULE = YES;
DYLIB_COMPATIBILITY_VERSION = 1;
DYLIB_CURRENT_VERSION = 1;
DYLIB_INSTALL_NAME_BASE = "@rpath";
ENABLE_TESTABILITY = YES;
INFOPLIST_FILE = Source/Info.plist;
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
IPHONEOS_DEPLOYMENT_TARGET = 8.0;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
PRODUCT_BUNDLE_IDENTIFIER = "com.alamofire.$(PRODUCT_NAME:rfc1034identifier)";
PRODUCT_NAME = Alamofire;
SKIP_INSTALL = YES;
SUPPORTED_PLATFORMS = "iphonesimulator iphoneos";
};
name = ReleaseTest;
};
4C0FFAFA1C212C71009085A1 /* ReleaseTest */ = {
isa = XCBuildConfiguration;
buildSettings = {
CODE_SIGN_IDENTITY = "iPhone Developer";
"CODE_SIGN_IDENTITY[sdk=iphonesimulator*]" = "";
ENABLE_TESTABILITY = YES;
FRAMEWORK_SEARCH_PATHS = "$(inherited)";
INFOPLIST_FILE = Tests/Info.plist;
IPHONEOS_DEPLOYMENT_TARGET = 8.0;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
PRODUCT_BUNDLE_IDENTIFIER = "com.alamofire.$(PRODUCT_NAME:rfc1034identifier)";
PRODUCT_NAME = "$(TARGET_NAME)";
};
name = ReleaseTest;
};
4C0FFAFB1C212C71009085A1 /* ReleaseTest */ = {
isa = XCBuildConfiguration;
buildSettings = {
APPLICATION_EXTENSION_API_ONLY = YES;
BITCODE_GENERATION_MODE = bitcode;
CODE_SIGN_IDENTITY = "";
COMBINE_HIDPI_IMAGES = YES;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
DEFINES_MODULE = YES;
DYLIB_COMPATIBILITY_VERSION = 1;
DYLIB_CURRENT_VERSION = 1;
DYLIB_INSTALL_NAME_BASE = "@rpath";
ENABLE_TESTABILITY = YES;
FRAMEWORK_VERSION = A;
INFOPLIST_FILE = Source/Info.plist;
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
IPHONEOS_DEPLOYMENT_TARGET = 8.0;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/Frameworks";
MACOSX_DEPLOYMENT_TARGET = 10.9;
PRODUCT_BUNDLE_IDENTIFIER = "com.alamofire.$(PRODUCT_NAME:rfc1034identifier)";
PRODUCT_NAME = Alamofire;
SDKROOT = macosx;
SKIP_INSTALL = YES;
};
name = ReleaseTest;
};
4C0FFAFC1C212C71009085A1 /* ReleaseTest */ = {
isa = XCBuildConfiguration;
buildSettings = {
CODE_SIGN_IDENTITY = "";
COMBINE_HIDPI_IMAGES = YES;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
ENABLE_TESTABILITY = YES;
FRAMEWORK_SEARCH_PATHS = (
"$(DEVELOPER_FRAMEWORKS_DIR)",
"$(inherited)",
);
INFOPLIST_FILE = Tests/Info.plist;
IPHONEOS_DEPLOYMENT_TARGET = 8.0;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/../Frameworks";
MACOSX_DEPLOYMENT_TARGET = 10.9;
PRODUCT_BUNDLE_IDENTIFIER = "com.alamofire.$(PRODUCT_NAME:rfc1034identifier)";
PRODUCT_NAME = "$(TARGET_NAME)";
SDKROOT = macosx;
};
name = ReleaseTest;
};
4C0FFAFD1C212C71009085A1 /* ReleaseTest */ = {
isa = XCBuildConfiguration;
buildSettings = {
APPLICATION_EXTENSION_API_ONLY = YES;
BITCODE_GENERATION_MODE = bitcode;
CODE_SIGN_IDENTITY = "iPhone Developer";
"CODE_SIGN_IDENTITY[sdk=appletvsimulator*]" = "";
COPY_PHASE_STRIP = NO;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
DEFINES_MODULE = YES;
DYLIB_COMPATIBILITY_VERSION = 1;
DYLIB_CURRENT_VERSION = 1;
DYLIB_INSTALL_NAME_BASE = "@rpath";
ENABLE_TESTABILITY = YES;
GCC_NO_COMMON_BLOCKS = YES;
INFOPLIST_FILE = "Source/Info-tvOS.plist";
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
PRODUCT_BUNDLE_IDENTIFIER = com.alamofire.Alamofire;
PRODUCT_NAME = Alamofire;
SDKROOT = appletvos;
SKIP_INSTALL = YES;
TARGETED_DEVICE_FAMILY = 3;
TVOS_DEPLOYMENT_TARGET = 9.0;
};
name = ReleaseTest;
};
4C0FFAFE1C212C71009085A1 /* ReleaseTest */ = {
isa = XCBuildConfiguration;
buildSettings = {
CODE_SIGN_IDENTITY = "iPhone Developer";
"CODE_SIGN_IDENTITY[sdk=appletvsimulator*]" = "";
COPY_PHASE_STRIP = NO;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
ENABLE_TESTABILITY = YES;
GCC_NO_COMMON_BLOCKS = YES;
INFOPLIST_FILE = Tests/Info.plist;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
PRODUCT_BUNDLE_IDENTIFIER = "com.alamofire.Alamofire-tvOSTests";
PRODUCT_NAME = "$(TARGET_NAME)";
SDKROOT = appletvos;
TVOS_DEPLOYMENT_TARGET = 9.0;
};
name = ReleaseTest;
};
4C0FFAFF1C212C71009085A1 /* ReleaseTest */ = {
isa = XCBuildConfiguration;
buildSettings = {
APPLICATION_EXTENSION_API_ONLY = YES;
BITCODE_GENERATION_MODE = bitcode;
CLANG_ENABLE_MODULES = YES;
CODE_SIGN_IDENTITY = "iPhone Developer";
"CODE_SIGN_IDENTITY[sdk=watchsimulator*]" = "";
COPY_PHASE_STRIP = NO;
DEFINES_MODULE = YES;
DYLIB_COMPATIBILITY_VERSION = 1;
DYLIB_CURRENT_VERSION = 1;
DYLIB_INSTALL_NAME_BASE = "@rpath";
ENABLE_TESTABILITY = YES;
GCC_NO_COMMON_BLOCKS = YES;
INFOPLIST_FILE = Source/Info.plist;
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
MODULE_NAME = "";
PRODUCT_BUNDLE_IDENTIFIER = com.alamofire.Alamofire;
PRODUCT_NAME = Alamofire;
SDKROOT = watchos;
SKIP_INSTALL = YES;
TARGETED_DEVICE_FAMILY = 4;
};
name = ReleaseTest;
};
4CF627001BA7CB3E0011A099 /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
......@@ -1505,6 +1705,7 @@
buildConfigurations = (
4CF627001BA7CB3E0011A099 /* Debug */,
4CF627011BA7CB3E0011A099 /* Release */,
4C0FFAFD1C212C71009085A1 /* ReleaseTest */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
......@@ -1514,6 +1715,7 @@
buildConfigurations = (
4CF627021BA7CB3E0011A099 /* Debug */,
4CF627031BA7CB3E0011A099 /* Release */,
4C0FFAFE1C212C71009085A1 /* ReleaseTest */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
......@@ -1523,6 +1725,7 @@
buildConfigurations = (
4DD67C1F1A5C55C900ED2280 /* Debug */,
4DD67C201A5C55C900ED2280 /* Release */,
4C0FFAFB1C212C71009085A1 /* ReleaseTest */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
......@@ -1532,6 +1735,7 @@
buildConfigurations = (
E4202FDE1B667AA100C997FB /* Debug */,
E4202FDF1B667AA100C997FB /* Release */,
4C0FFAFF1C212C71009085A1 /* ReleaseTest */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
......@@ -1541,6 +1745,7 @@
buildConfigurations = (
F8111E4419A95C8B0040E7D1 /* Debug */,
F8111E4519A95C8B0040E7D1 /* Release */,
4C0FFAF81C212C71009085A1 /* ReleaseTest */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
......@@ -1550,6 +1755,7 @@
buildConfigurations = (
F8111E4719A95C8B0040E7D1 /* Debug */,
F8111E4819A95C8B0040E7D1 /* Release */,
4C0FFAF91C212C71009085A1 /* ReleaseTest */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
......@@ -1559,6 +1765,7 @@
buildConfigurations = (
F8111E4A19A95C8B0040E7D1 /* Debug */,
F8111E4B19A95C8B0040E7D1 /* Release */,
4C0FFAFA1C212C71009085A1 /* ReleaseTest */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
......@@ -1568,6 +1775,7 @@
buildConfigurations = (
F829C6BC1A7A94F100A2CD59 /* Debug */,
F829C6BD1A7A94F100A2CD59 /* Release */,
4C0FFAFC1C212C71009085A1 /* ReleaseTest */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册