|
|
@@ -1,37 +1,62 @@
|
|
|
language: objective-c
|
|
|
-osx_image: xcode7
|
|
|
-branches:
|
|
|
- except:
|
|
|
- - tvOS
|
|
|
+osx_image: xcode7.1
|
|
|
env:
|
|
|
global:
|
|
|
- LC_CTYPE=en_US.UTF-8
|
|
|
- LANG=en_US.UTF-8
|
|
|
+ - WORKSPACE=Alamofire.xcworkspace
|
|
|
+ - IOS_FRAMEWORK_SCHEME="Alamofire iOS"
|
|
|
+ - OSX_FRAMEWORK_SCHEME="Alamofire OSX"
|
|
|
+ - TVOS_FRAMEWORK_SCHEME="Alamofire tvOS"
|
|
|
+ - WATCHOS_FRAMEWORK_SCHEME="Alamofire watchOS"
|
|
|
+ - IOS_SDK=iphonesimulator9.1
|
|
|
+ - OSX_SDK=macosx10.11
|
|
|
+ - TVOS_SDK=appletvsimulator9.0
|
|
|
+ - WATCHOS_SDK=watchsimulator2.0
|
|
|
+ - EXAMPLE_SCHEME="iOS Example"
|
|
|
matrix:
|
|
|
- - DESTINATION="OS=8.1,name=iPhone 4S" SCHEME="Alamofire iOS" SDK=iphonesimulator9.0 BUILD_EXAMPLE="YES" POD_LINT="YES"
|
|
|
- - DESTINATION="OS=8.2,name=iPhone 5" SCHEME="Alamofire iOS" SDK=iphonesimulator9.0 BUILD_EXAMPLE="YES" POD_LINT="NO"
|
|
|
- - DESTINATION="OS=8.3,name=iPhone 5S" SCHEME="Alamofire iOS" SDK=iphonesimulator9.0 BUILD_EXAMPLE="YES" POD_LINT="NO"
|
|
|
- - DESTINATION="OS=8.4,name=iPhone 6" SCHEME="Alamofire iOS" SDK=iphonesimulator9.0 BUILD_EXAMPLE="YES" POD_LINT="NO"
|
|
|
- - DESTINATION="OS=9.0,name=iPhone 6 Plus" SCHEME="Alamofire iOS" SDK=iphonesimulator9.0 BUILD_EXAMPLE="YES" POD_LINT="NO"
|
|
|
- - DESTINATION="arch=x86_64" SCHEME="Alamofire OSX" SDK=macosx10.11 BUILD_EXAMPLE="NO" POD_LINT="NO"
|
|
|
+ - DESTINATION="OS=8.1,name=iPhone 4S" SCHEME="$IOS_FRAMEWORK_SCHEME" SDK="$IOS_SDK" RUN_TESTS="YES" BUILD_EXAMPLE="YES" POD_LINT="YES"
|
|
|
+ - DESTINATION="OS=8.2,name=iPhone 5" SCHEME="$IOS_FRAMEWORK_SCHEME" SDK="$IOS_SDK" RUN_TESTS="YES" BUILD_EXAMPLE="YES" POD_LINT="NO"
|
|
|
+ - DESTINATION="OS=8.3,name=iPhone 5S" SCHEME="$IOS_FRAMEWORK_SCHEME" SDK="$IOS_SDK" RUN_TESTS="YES" BUILD_EXAMPLE="YES" POD_LINT="NO"
|
|
|
+ - 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="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
|
|
|
- - xcodebuild -project Alamofire.xcodeproj -scheme "$SCHEME" -sdk "$SDK" -destination "$DESTINATION"
|
|
|
- -configuration Debug ONLY_ACTIVE_ARCH=NO test | xcpretty -c
|
|
|
- - xcodebuild -project Alamofire.xcodeproj -scheme "$SCHEME" -sdk "$SDK" -destination "$DESTINATION"
|
|
|
- -configuration Release ONLY_ACTIVE_ARCH=NO test | xcpretty -c
|
|
|
- - if [ $BUILD_EXAMPLE == "YES" ]; then
|
|
|
- xcodebuild -project "iOS Example.xcodeproj" -scheme "iOS Example" -sdk "$SDK" -destination "$DESTINATION"
|
|
|
- -configuration Debug ONLY_ACTIVE_ARCH=NO build | xcpretty -c;
|
|
|
+ - xcodebuild -showsdks
|
|
|
+
|
|
|
+ # Build Framework in Debug and Run Tests if specified
|
|
|
+ - if [ $RUN_TESTS == "YES" ]; then
|
|
|
+ xcodebuild -workspace "$WORKSPACE" -scheme "$SCHEME" -sdk "$SDK" -destination "$DESTINATION" -configuration Debug ONLY_ACTIVE_ARCH=NO test | xcpretty -c;
|
|
|
+ else
|
|
|
+ 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
|
|
|
+ - if [ $RUN_TESTS == "YES" ]; then
|
|
|
+ xcodebuild -workspace "$WORKSPACE" -scheme "$SCHEME" -sdk "$SDK" -destination "$DESTINATION" -configuration Release 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;
|
|
|
+ fi
|
|
|
+
|
|
|
+ # Build Example in Debug if specified
|
|
|
+ - if [ $BUILD_EXAMPLE == "YES" ]; then
|
|
|
+ xcodebuild -workspace "$WORKSPACE" -scheme "$EXAMPLE_SCHEME" -sdk "$SDK" -destination "$DESTINATION" -configuration Debug ONLY_ACTIVE_ARCH=NO build | xcpretty -c;
|
|
|
fi
|
|
|
+
|
|
|
+ # Build Example in Release if specified
|
|
|
- if [ $BUILD_EXAMPLE == "YES" ]; then
|
|
|
- xcodebuild -project "iOS Example.xcodeproj" -scheme "iOS Example" -sdk "$SDK" -destination "$DESTINATION"
|
|
|
- -configuration Release ONLY_ACTIVE_ARCH=NO build | xcpretty -c;
|
|
|
+ xcodebuild -workspace "$WORKSPACE" -scheme "$EXAMPLE_SCHEME" -sdk "$SDK" -destination "$DESTINATION" -configuration Release ONLY_ACTIVE_ARCH=NO build | xcpretty -c;
|
|
|
fi
|
|
|
+
|
|
|
+ # Run `pod lib lint` if specified
|
|
|
- if [ $POD_LINT == "YES" ]; then
|
|
|
pod lib lint;
|
|
|
fi
|