|
|
|
@ -129,18 +129,55 @@ internal_install_python_deps() { |
|
|
|
|
fi |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
build_objectivec_common () { |
|
|
|
|
# Reused the build script that takes care of configure and then Xcode |
|
|
|
|
# builds/tests. |
|
|
|
|
objectivec/DevTools/full_mac_build.sh --core-only "$@" |
|
|
|
|
internal_objectivec_common () { |
|
|
|
|
# Make sure xctool is up to date. Adapted from |
|
|
|
|
# http://docs.travis-ci.com/user/osx-ci-environment/ |
|
|
|
|
# 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_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_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() { |
|
|
|
|