xref: /aosp_15_r20/external/grpc-grpc/src/objective-c/tests/build_tests.sh (revision cc02d7e222339f7a4f6ba5f422e6413f4bd931f2)
1#!/bin/bash
2# Copyright 2015 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# CocoaPods requires the terminal to be using UTF-8 encoding.
22export LANG=en_US.UTF-8
23
24cd "$(dirname "$0")"
25
26# Check that required tools are available.
27hash pod 2>/dev/null || { echo >&2 "Cocoapods needs to be installed."; exit 1; }
28hash xcodebuild 2>/dev/null || {
29    echo >&2 "XCode command-line tools need to be installed."
30    exit 1
31}
32
33# clean pod cache and prior pods
34rm -Rf Pods Podfile.lock Tests.xcworkspace
35rm -f RemoteTestClient/*.{h,m}
36pod cache clean --all
37
38time pod install --verbose
39
40# verify pod header installation
41if [ -d "./Pods/Headers/Public/gRPC-Core/grpc/impl/codegen" ]
42then
43    echo "grpc/impl/codegen/ has been imported."
44    number_of_files=$(find Pods/Headers/Public/gRPC-Core/grpc/impl/codegen -name "*.h" | wc -l)
45    echo "The number of files in Pods/Headers/Public/gRPC-Core/grpc/impl/codegen/ is $number_of_files"
46else
47    echo "Error: grpc/impl/codegen/ hasn't been imported."
48fi
49