1#!/bin/bash 2# Copyright 2016 gRPC authors. 3# 4# Licensed under the Apache License, Version 2.0 (the "License"); 5# you may not use this file except in compliance with the License. 6# You may obtain a copy of the License at 7# 8# http://www.apache.org/licenses/LICENSE-2.0 9# 10# Unless required by applicable law or agreed to in writing, software 11# distributed under the License is distributed on an "AS IS" BASIS, 12# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13# See the License for the specific language governing permissions and 14# limitations under the License. 15 16# Don't run this script standalone. Instead, run from the repository root: 17# ./tools/run_tests/run_tests.py -l objc 18 19set -ex 20 21# Params: 22# EXAMPLE_PATH - directory of the example 23# SCHEME - scheme of the example, used by xcodebuild 24 25# CocoaPods requires the terminal to be using UTF-8 encoding. 26export LANG=en_US.UTF-8 27 28TEST_PATH=$(cd "$(dirname $0)" > /dev/null ; pwd) 29 30cd $(dirname $0)/../../.. 31 32cd $EXAMPLE_PATH 33 34# clean the directory 35rm -rf Pods 36rm -rf *.xcworkspace 37rm -f Podfile.lock 38 39time pod install 40 41set -o pipefail # preserve xcodebuild exit code when piping output 42 43XCODEBUILD_FILTER_OUTPUT_SCRIPT="${TEST_PATH}/xcodebuild_filter_output.sh" 44 45if [ "$SCHEME" == "tvOS-sample" ]; then 46 time xcodebuild \ 47 build \ 48 -workspace *.xcworkspace \ 49 -scheme $SCHEME \ 50 -destination generic/platform=tvOS \ 51 -derivedDataPath Build/Build \ 52 CODE_SIGN_IDENTITY="" \ 53 CODE_SIGNING_REQUIRED=NO \ 54 CODE_SIGNING_ALLOWED=NO \ 55 | "${XCODEBUILD_FILTER_OUTPUT_SCRIPT}" 56else 57 time xcodebuild \ 58 build \ 59 -workspace *.xcworkspace \ 60 -scheme $SCHEME \ 61 -destination generic/platform=iOS \ 62 -derivedDataPath Build/Build \ 63 CODE_SIGN_IDENTITY="" \ 64 CODE_SIGNING_REQUIRED=NO \ 65 CODE_SIGNING_ALLOWED=NO \ 66 | "${XCODEBUILD_FILTER_OUTPUT_SCRIPT}" 67fi 68