|
|
|
@ -45,6 +45,8 @@ OPTIONS: |
|
|
|
|
Skip the invoke of Xcode to test the runtime on OS X. |
|
|
|
|
--skip-objc-conformance |
|
|
|
|
Skip the Objective C conformance tests (run on OS X). |
|
|
|
|
--xcode-quiet |
|
|
|
|
Pass -quiet to xcodebuild. |
|
|
|
|
|
|
|
|
|
EOF |
|
|
|
|
} |
|
|
|
@ -83,6 +85,7 @@ DO_XCODE_OSX_TESTS=yes |
|
|
|
|
DO_XCODE_DEBUG=yes |
|
|
|
|
DO_XCODE_RELEASE=yes |
|
|
|
|
DO_OBJC_CONFORMANCE_TESTS=yes |
|
|
|
|
XCODE_QUIET=no |
|
|
|
|
while [[ $# != 0 ]]; do |
|
|
|
|
case "${1}" in |
|
|
|
|
-h | --help ) |
|
|
|
@ -124,6 +127,9 @@ while [[ $# != 0 ]]; do |
|
|
|
|
--skip-objc-conformance ) |
|
|
|
|
DO_OBJC_CONFORMANCE_TESTS=no |
|
|
|
|
;; |
|
|
|
|
--xcode-quiet ) |
|
|
|
|
XCODE_QUIET=yes |
|
|
|
|
;; |
|
|
|
|
-*) |
|
|
|
|
echo "ERROR: Unknown option: ${1}" 1>&2 |
|
|
|
|
printUsage |
|
|
|
@ -217,17 +223,21 @@ if ! objectivec/DevTools/pddm.py --dry-run objectivec/*.[hm] objectivec/Tests/*. |
|
|
|
|
exit 1 |
|
|
|
|
fi |
|
|
|
|
|
|
|
|
|
readonly XCODE_VERSION_LINE="$(xcodebuild -version | grep Xcode\ )" |
|
|
|
|
readonly XCODE_VERSION="${XCODE_VERSION_LINE/Xcode /}" # drop the prefix. |
|
|
|
|
|
|
|
|
|
if [[ "${DO_XCODE_IOS_TESTS}" == "yes" ]] ; then |
|
|
|
|
XCODEBUILD_TEST_BASE_IOS=( |
|
|
|
|
xcodebuild |
|
|
|
|
-project objectivec/ProtocolBuffers_iOS.xcodeproj |
|
|
|
|
-scheme ProtocolBuffers |
|
|
|
|
) |
|
|
|
|
if [[ "${XCODE_QUIET}" == "yes" ]] ; then |
|
|
|
|
XCODEBUILD_TEST_BASE_IOS+=( -quiet ) |
|
|
|
|
fi |
|
|
|
|
# Don't need to worry about form factors or retina/non retina; |
|
|
|
|
# just pick a mix of OS Versions and 32/64 bit. |
|
|
|
|
# NOTE: Different Xcode have different simulated hardware/os support. |
|
|
|
|
readonly XCODE_VERSION_LINE="$(xcodebuild -version | grep Xcode\ )" |
|
|
|
|
readonly XCODE_VERSION="${XCODE_VERSION_LINE/Xcode /}" # drop the prefix. |
|
|
|
|
case "${XCODE_VERSION}" in |
|
|
|
|
6.* ) |
|
|
|
|
echo "ERROR: Xcode 6.3/6.4 no longer supported for building, please use 8.0 or higher." 1>&2 |
|
|
|
@ -247,6 +257,14 @@ if [[ "${DO_XCODE_IOS_TESTS}" == "yes" ]] ; then |
|
|
|
|
-destination "platform=iOS Simulator,name=iPad Pro (9.7 inch),OS=10.0" # 64bit |
|
|
|
|
) |
|
|
|
|
;; |
|
|
|
|
8.1* ) |
|
|
|
|
XCODEBUILD_TEST_BASE_IOS+=( |
|
|
|
|
-destination "platform=iOS Simulator,name=iPhone 4s,OS=8.1" # 32bit |
|
|
|
|
-destination "platform=iOS Simulator,name=iPhone 7,OS=10.1" # 64bit |
|
|
|
|
-destination "platform=iOS Simulator,name=iPad 2,OS=8.1" # 32bit |
|
|
|
|
-destination "platform=iOS Simulator,name=iPad Pro (9.7 inch),OS=10.1" # 64bit |
|
|
|
|
) |
|
|
|
|
;; |
|
|
|
|
* ) |
|
|
|
|
echo "Time to update the simulator targets for Xcode ${XCODE_VERSION}" |
|
|
|
|
exit 2 |
|
|
|
@ -271,8 +289,9 @@ if [[ "${DO_XCODE_OSX_TESTS}" == "yes" ]] ; then |
|
|
|
|
# Since the ObjC 2.0 Runtime is required, 32bit OS X isn't supported. |
|
|
|
|
-destination "platform=OS X,arch=x86_64" # 64bit |
|
|
|
|
) |
|
|
|
|
readonly XCODE_VERSION_LINE="$(xcodebuild -version | grep Xcode\ )" |
|
|
|
|
readonly XCODE_VERSION="${XCODE_VERSION_LINE/Xcode /}" # drop the prefix. |
|
|
|
|
if [[ "${XCODE_QUIET}" == "yes" ]] ; then |
|
|
|
|
XCODEBUILD_TEST_BASE_OSX+=( -quiet ) |
|
|
|
|
fi |
|
|
|
|
case "${XCODE_VERSION}" in |
|
|
|
|
6.* ) |
|
|
|
|
echo "ERROR: Xcode 6.3/6.4 no longer supported for building, please use 8.0 or higher." 1>&2 |
|
|
|
|