Merge pull request #960 from thomasvl/xctool_support
Switch ObjC Travis testing to using xctool
This commit is contained in:
commit
8b31d7410a
49
travis.sh
49
travis.sh
@ -129,18 +129,55 @@ internal_install_python_deps() {
|
|||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
build_objectivec_common () {
|
internal_objectivec_common () {
|
||||||
# Reused the build script that takes care of configure and then Xcode
|
# Make sure xctool is up to date. Adapted from
|
||||||
# builds/tests.
|
# http://docs.travis-ci.com/user/osx-ci-environment/
|
||||||
objectivec/DevTools/full_mac_build.sh --core-only "$@"
|
# We don't use a before_install because we test multiple OSes.
|
||||||
|
brew update
|
||||||
|
brew outdated xctool || brew upgrade xctool
|
||||||
|
# Reused the build script that takes care of configuring and ensuring things
|
||||||
|
# are up to date.
|
||||||
|
objectivec/DevTools/full_mac_build.sh --core-only --skip-xcode
|
||||||
|
}
|
||||||
|
|
||||||
|
internal_xctool_debug_and_release() {
|
||||||
|
xctool -configuration Debug "$@"
|
||||||
|
xctool -configuration Release "$@"
|
||||||
}
|
}
|
||||||
|
|
||||||
build_objectivec_ios() {
|
build_objectivec_ios() {
|
||||||
build_objectivec_common --skip-xcode-osx
|
internal_objectivec_common
|
||||||
|
# https://github.com/facebook/xctool/issues/509 - unlike xcodebuild, xctool
|
||||||
|
# doesn't support >1 destination, so we have to build first and then run the
|
||||||
|
# tests one destination at a time.
|
||||||
|
internal_xctool_debug_and_release \
|
||||||
|
-project objectivec/ProtocolBuffers_iOS.xcodeproj \
|
||||||
|
-scheme ProtocolBuffers \
|
||||||
|
-sdk iphonesimulator \
|
||||||
|
build-tests
|
||||||
|
IOS_DESTINATIONS=(
|
||||||
|
"platform=iOS Simulator,name=iPhone 4s,OS=8.1" # 32bit
|
||||||
|
"platform=iOS Simulator,name=iPhone 6,OS=9.1" # 64bit
|
||||||
|
"platform=iOS Simulator,name=iPad 2,OS=8.1" # 32bit
|
||||||
|
"platform=iOS Simulator,name=iPad Air,OS=9.1" # 64bit
|
||||||
|
)
|
||||||
|
for i in "${IOS_DESTINATIONS[@]}" ; do
|
||||||
|
internal_xctool_debug_and_release \
|
||||||
|
-project objectivec/ProtocolBuffers_iOS.xcodeproj \
|
||||||
|
-scheme ProtocolBuffers \
|
||||||
|
-sdk iphonesimulator \
|
||||||
|
-destination "${i}" \
|
||||||
|
run-tests
|
||||||
|
done
|
||||||
}
|
}
|
||||||
|
|
||||||
build_objectivec_osx() {
|
build_objectivec_osx() {
|
||||||
build_objectivec_common --skip-xcode-ios
|
internal_objectivec_common
|
||||||
|
internal_xctool_debug_and_release \
|
||||||
|
-project objectivec/ProtocolBuffers_OSX.xcodeproj \
|
||||||
|
-scheme ProtocolBuffers \
|
||||||
|
-destination "platform=OS X,arch=x86_64" \
|
||||||
|
test
|
||||||
}
|
}
|
||||||
|
|
||||||
build_python() {
|
build_python() {
|
||||||
|
Loading…
Reference in New Issue
Block a user