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 -ev 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 39pod install | $TEST_PATH/verbose_time.sh 40 41set -o pipefail 42XCODEBUILD_FILTER='(^CompileC |^Ld |^.*clang |^ *cd |^ *export |^Libtool |^.*libtool |^CpHeader |^ *builtin-copy )' 43if [ "$SCHEME" == "tvOS-sample" ]; then 44 xcodebuild \ 45 build \ 46 -workspace *.xcworkspace \ 47 -scheme $SCHEME \ 48 -destination generic/platform=tvOS \ 49 -derivedDataPath Build/Build \ 50 CODE_SIGN_IDENTITY="" \ 51 CODE_SIGNING_REQUIRED=NO \ 52 CODE_SIGNING_ALLOWED=NO \ 53 | $TEST_PATH/verbose_time.sh \ 54 | egrep -v "$XCODEBUILD_FILTER" \ 55 | egrep -v "^$" - 56else 57 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 | $TEST_PATH/verbose_time.sh \ 67 | egrep -v "$XCODEBUILD_FILTER" \ 68 | egrep -v "^$" - 69fi 70 71