|
@@ -37,6 +37,10 @@ OPTIONS:
|
|
Skip the invoke of Xcode to test the runtime on both iOS and OS X.
|
|
Skip the invoke of Xcode to test the runtime on both iOS and OS X.
|
|
--skip-xcode-ios
|
|
--skip-xcode-ios
|
|
Skip the invoke of Xcode to test the runtime on iOS.
|
|
Skip the invoke of Xcode to test the runtime on iOS.
|
|
|
|
+ --skip-xcode-debug
|
|
|
|
+ Skip the Xcode Debug configuration.
|
|
|
|
+ --skip-xcode-release
|
|
|
|
+ Skip the Xcode Release configuration.
|
|
--skip-xcode-osx
|
|
--skip-xcode-osx
|
|
Skip the invoke of Xcode to test the runtime on OS X.
|
|
Skip the invoke of Xcode to test the runtime on OS X.
|
|
--skip-objc-conformance
|
|
--skip-objc-conformance
|
|
@@ -66,8 +70,8 @@ wrapped_make() {
|
|
}
|
|
}
|
|
|
|
|
|
NUM_MAKE_JOBS=$(/usr/sbin/sysctl -n hw.ncpu)
|
|
NUM_MAKE_JOBS=$(/usr/sbin/sysctl -n hw.ncpu)
|
|
-if [[ "${NUM_MAKE_JOBS}" -lt 4 ]] ; then
|
|
|
|
- NUM_MAKE_JOBS=4
|
|
|
|
|
|
+if [[ "${NUM_MAKE_JOBS}" -lt 2 ]] ; then
|
|
|
|
+ NUM_MAKE_JOBS=2
|
|
fi
|
|
fi
|
|
|
|
|
|
DO_AUTOGEN=no
|
|
DO_AUTOGEN=no
|
|
@@ -76,6 +80,8 @@ REGEN_DESCRIPTORS=no
|
|
CORE_ONLY=no
|
|
CORE_ONLY=no
|
|
DO_XCODE_IOS_TESTS=yes
|
|
DO_XCODE_IOS_TESTS=yes
|
|
DO_XCODE_OSX_TESTS=yes
|
|
DO_XCODE_OSX_TESTS=yes
|
|
|
|
+DO_XCODE_DEBUG=yes
|
|
|
|
+DO_XCODE_RELEASE=yes
|
|
DO_OBJC_CONFORMANCE_TESTS=yes
|
|
DO_OBJC_CONFORMANCE_TESTS=yes
|
|
while [[ $# != 0 ]]; do
|
|
while [[ $# != 0 ]]; do
|
|
case "${1}" in
|
|
case "${1}" in
|
|
@@ -109,6 +115,12 @@ while [[ $# != 0 ]]; do
|
|
--skip-xcode-osx )
|
|
--skip-xcode-osx )
|
|
DO_XCODE_OSX_TESTS=no
|
|
DO_XCODE_OSX_TESTS=no
|
|
;;
|
|
;;
|
|
|
|
+ --skip-xcode-debug )
|
|
|
|
+ DO_XCODE_DEBUG=no
|
|
|
|
+ ;;
|
|
|
|
+ --skip-xcode-release )
|
|
|
|
+ DO_XCODE_RELEASE=no
|
|
|
|
+ ;;
|
|
--skip-objc-conformance )
|
|
--skip-objc-conformance )
|
|
DO_OBJC_CONFORMANCE_TESTS=no
|
|
DO_OBJC_CONFORMANCE_TESTS=no
|
|
;;
|
|
;;
|
|
@@ -151,8 +163,12 @@ if [[ "${DO_CLEAN}" == "yes" ]] ; then
|
|
-project objectivec/ProtocolBuffers_iOS.xcodeproj
|
|
-project objectivec/ProtocolBuffers_iOS.xcodeproj
|
|
-scheme ProtocolBuffers
|
|
-scheme ProtocolBuffers
|
|
)
|
|
)
|
|
- "${XCODEBUILD_CLEAN_BASE_IOS[@]}" -configuration Debug clean
|
|
|
|
- "${XCODEBUILD_CLEAN_BASE_IOS[@]}" -configuration Release clean
|
|
|
|
|
|
+ if [[ "${DO_XCODE_DEBUG}" == "yes" ]] ; then
|
|
|
|
+ "${XCODEBUILD_CLEAN_BASE_IOS[@]}" -configuration Debug clean
|
|
|
|
+ fi
|
|
|
|
+ if [[ "${DO_XCODE_RELEASE}" == "yes" ]] ; then
|
|
|
|
+ "${XCODEBUILD_CLEAN_BASE_IOS[@]}" -configuration Release clean
|
|
|
|
+ fi
|
|
fi
|
|
fi
|
|
if [[ "${DO_XCODE_OSX_TESTS}" == "yes" ]] ; then
|
|
if [[ "${DO_XCODE_OSX_TESTS}" == "yes" ]] ; then
|
|
XCODEBUILD_CLEAN_BASE_OSX=(
|
|
XCODEBUILD_CLEAN_BASE_OSX=(
|
|
@@ -160,8 +176,12 @@ if [[ "${DO_CLEAN}" == "yes" ]] ; then
|
|
-project objectivec/ProtocolBuffers_OSX.xcodeproj
|
|
-project objectivec/ProtocolBuffers_OSX.xcodeproj
|
|
-scheme ProtocolBuffers
|
|
-scheme ProtocolBuffers
|
|
)
|
|
)
|
|
- "${XCODEBUILD_CLEAN_BASE_OSX[@]}" -configuration Debug clean
|
|
|
|
- "${XCODEBUILD_CLEAN_BASE_OSX[@]}" -configuration Release clean
|
|
|
|
|
|
+ if [[ "${DO_XCODE_DEBUG}" == "yes" ]] ; then
|
|
|
|
+ "${XCODEBUILD_CLEAN_BASE_OSX[@]}" -configuration Debug clean
|
|
|
|
+ fi
|
|
|
|
+ if [[ "${DO_XCODE_RELEASE}" == "yes" ]] ; then
|
|
|
|
+ "${XCODEBUILD_CLEAN_BASE_OSX[@]}" -configuration Release clean
|
|
|
|
+ fi
|
|
fi
|
|
fi
|
|
fi
|
|
fi
|
|
|
|
|
|
@@ -222,20 +242,20 @@ if [[ "${DO_XCODE_IOS_TESTS}" == "yes" ]] ; then
|
|
-destination "platform=iOS Simulator,name=iPad Air,OS=9.0" # 64bit
|
|
-destination "platform=iOS Simulator,name=iPad Air,OS=9.0" # 64bit
|
|
)
|
|
)
|
|
;;
|
|
;;
|
|
- 7.3* )
|
|
|
|
|
|
+ 7.2* )
|
|
XCODEBUILD_TEST_BASE_IOS+=(
|
|
XCODEBUILD_TEST_BASE_IOS+=(
|
|
-destination "platform=iOS Simulator,name=iPhone 4s,OS=8.1" # 32bit
|
|
-destination "platform=iOS Simulator,name=iPhone 4s,OS=8.1" # 32bit
|
|
- -destination "platform=iOS Simulator,name=iPhone 6,OS=9.3" # 64bit
|
|
|
|
|
|
+ -destination "platform=iOS Simulator,name=iPhone 6,OS=9.2" # 64bit
|
|
-destination "platform=iOS Simulator,name=iPad 2,OS=8.1" # 32bit
|
|
-destination "platform=iOS Simulator,name=iPad 2,OS=8.1" # 32bit
|
|
- -destination "platform=iOS Simulator,name=iPad Air,OS=9.3" # 64bit
|
|
|
|
|
|
+ -destination "platform=iOS Simulator,name=iPad Air,OS=9.2" # 64bit
|
|
)
|
|
)
|
|
;;
|
|
;;
|
|
- 7.* )
|
|
|
|
|
|
+ 7.3* )
|
|
XCODEBUILD_TEST_BASE_IOS+=(
|
|
XCODEBUILD_TEST_BASE_IOS+=(
|
|
-destination "platform=iOS Simulator,name=iPhone 4s,OS=8.1" # 32bit
|
|
-destination "platform=iOS Simulator,name=iPhone 4s,OS=8.1" # 32bit
|
|
- -destination "platform=iOS Simulator,name=iPhone 6,OS=9.2" # 64bit
|
|
|
|
|
|
+ -destination "platform=iOS Simulator,name=iPhone 6,OS=9.3" # 64bit
|
|
-destination "platform=iOS Simulator,name=iPad 2,OS=8.1" # 32bit
|
|
-destination "platform=iOS Simulator,name=iPad 2,OS=8.1" # 32bit
|
|
- -destination "platform=iOS Simulator,name=iPad Air,OS=9.2" # 64bit
|
|
|
|
|
|
+ -destination "platform=iOS Simulator,name=iPad Air,OS=9.3" # 64bit
|
|
)
|
|
)
|
|
;;
|
|
;;
|
|
* )
|
|
* )
|
|
@@ -243,10 +263,14 @@ if [[ "${DO_XCODE_IOS_TESTS}" == "yes" ]] ; then
|
|
exit 2
|
|
exit 2
|
|
;;
|
|
;;
|
|
esac
|
|
esac
|
|
- header "Doing Xcode iOS build/tests - Debug"
|
|
|
|
- "${XCODEBUILD_TEST_BASE_IOS[@]}" -configuration Debug test
|
|
|
|
- header "Doing Xcode iOS build/tests - Release"
|
|
|
|
- "${XCODEBUILD_TEST_BASE_IOS[@]}" -configuration Release test
|
|
|
|
|
|
+ if [[ "${DO_XCODE_DEBUG}" == "yes" ]] ; then
|
|
|
|
+ header "Doing Xcode iOS build/tests - Debug"
|
|
|
|
+ "${XCODEBUILD_TEST_BASE_IOS[@]}" -configuration Debug test
|
|
|
|
+ fi
|
|
|
|
+ if [[ "${DO_XCODE_RELEASE}" == "yes" ]] ; then
|
|
|
|
+ header "Doing Xcode iOS build/tests - Release"
|
|
|
|
+ "${XCODEBUILD_TEST_BASE_IOS[@]}" -configuration Release test
|
|
|
|
+ fi
|
|
# Don't leave the simulator in the developer's face.
|
|
# Don't leave the simulator in the developer's face.
|
|
killall "${IOS_SIMULATOR_NAME}"
|
|
killall "${IOS_SIMULATOR_NAME}"
|
|
fi
|
|
fi
|
|
@@ -258,13 +282,18 @@ if [[ "${DO_XCODE_OSX_TESTS}" == "yes" ]] ; then
|
|
# Since the ObjC 2.0 Runtime is required, 32bit OS X isn't supported.
|
|
# Since the ObjC 2.0 Runtime is required, 32bit OS X isn't supported.
|
|
-destination "platform=OS X,arch=x86_64" # 64bit
|
|
-destination "platform=OS X,arch=x86_64" # 64bit
|
|
)
|
|
)
|
|
- header "Doing Xcode OS X build/tests - Debug"
|
|
|
|
- "${XCODEBUILD_TEST_BASE_OSX[@]}" -configuration Debug test
|
|
|
|
- header "Doing Xcode OS X build/tests - Release"
|
|
|
|
- "${XCODEBUILD_TEST_BASE_OSX[@]}" -configuration Release test
|
|
|
|
|
|
+ if [[ "${DO_XCODE_DEBUG}" == "yes" ]] ; then
|
|
|
|
+ header "Doing Xcode OS X build/tests - Debug"
|
|
|
|
+ "${XCODEBUILD_TEST_BASE_OSX[@]}" -configuration Debug test
|
|
|
|
+ fi
|
|
|
|
+ if [[ "${DO_XCODE_RELEASE}" == "yes" ]] ; then
|
|
|
|
+ header "Doing Xcode OS X build/tests - Release"
|
|
|
|
+ "${XCODEBUILD_TEST_BASE_OSX[@]}" -configuration Release test
|
|
|
|
+ fi
|
|
fi
|
|
fi
|
|
|
|
|
|
if [[ "${DO_OBJC_CONFORMANCE_TESTS}" == "yes" ]] ; then
|
|
if [[ "${DO_OBJC_CONFORMANCE_TESTS}" == "yes" ]] ; then
|
|
|
|
+ header "Running ObjC Conformance Tests"
|
|
cd conformance
|
|
cd conformance
|
|
wrapped_make -j "${NUM_MAKE_JOBS}" test_objc
|
|
wrapped_make -j "${NUM_MAKE_JOBS}" test_objc
|
|
cd ..
|
|
cd ..
|