xref: /aosp_15_r20/external/grpc-grpc/src/objective-c/tests/build_one_example.sh (revision cc02d7e222339f7a4f6ba5f422e6413f4bd931f2)
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