mirror of https://github.com/grpc/grpc.git
Merge pull request #6992 from y-zeng/auto-build-example
Build objective-c examples as part of automatic testspull/6893/head^2
commit
0d12151d29
3 changed files with 140 additions and 1 deletions
@ -0,0 +1,74 @@ |
|||||||
|
#!/bin/bash |
||||||
|
# Copyright 2016, Google Inc. |
||||||
|
# All rights reserved. |
||||||
|
# |
||||||
|
# Redistribution and use in source and binary forms, with or without |
||||||
|
# modification, are permitted provided that the following conditions are |
||||||
|
# met: |
||||||
|
# |
||||||
|
# * Redistributions of source code must retain the above copyright |
||||||
|
# notice, this list of conditions and the following disclaimer. |
||||||
|
# * Redistributions in binary form must reproduce the above |
||||||
|
# copyright notice, this list of conditions and the following disclaimer |
||||||
|
# in the documentation and/or other materials provided with the |
||||||
|
# distribution. |
||||||
|
# * Neither the name of Google Inc. nor the names of its |
||||||
|
# contributors may be used to endorse or promote products derived from |
||||||
|
# this software without specific prior written permission. |
||||||
|
# |
||||||
|
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS |
||||||
|
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT |
||||||
|
# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR |
||||||
|
# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT |
||||||
|
# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, |
||||||
|
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT |
||||||
|
# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, |
||||||
|
# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY |
||||||
|
# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
||||||
|
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |
||||||
|
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
||||||
|
|
||||||
|
# Don't run this script standalone. Instead, run from the repository root: |
||||||
|
# ./tools/run_tests/run_tests.py -l objc |
||||||
|
|
||||||
|
set -eo pipefail |
||||||
|
|
||||||
|
cd `dirname $0` |
||||||
|
|
||||||
|
BINDIR=`pwd`/../../../bins/$CONFIG |
||||||
|
TMP_PATH=$PATH |
||||||
|
|
||||||
|
# If `protoc` is not found, add bins/$CONFIG/protobuf/protoc to the search path |
||||||
|
hash protoc 2>/dev/null || TMP_PATH=$BINDIR/protobuf:$TMP_PATH |
||||||
|
|
||||||
|
# If `protoc-gen-objcgrpc` is not found, make a symlink from |
||||||
|
# bins/$CONGIF/grpc_objective_c_plugin and add it to the search path |
||||||
|
PATH=$TMP_PATH hash protoc-gen-objcgrpc 2>/dev/null || { |
||||||
|
ln -sf $BINDIR/grpc_objective_c_plugin $BINDIR/protoc-gen-objcgrpc |
||||||
|
TMP_PATH=$BINDIR:$TMP_PATH |
||||||
|
} |
||||||
|
|
||||||
|
SCHEME=HelloWorld \ |
||||||
|
EXAMPLE_PATH=examples/objective-c/helloworld \ |
||||||
|
PATH=$TMP_PATH \ |
||||||
|
./build_one_example.sh |
||||||
|
|
||||||
|
SCHEME=RouteGuideClient \ |
||||||
|
EXAMPLE_PATH=examples/objective-c/route_guide \ |
||||||
|
PATH=$TMP_PATH \ |
||||||
|
./build_one_example.sh |
||||||
|
|
||||||
|
SCHEME=AuthSample \ |
||||||
|
EXAMPLE_PATH=examples/objective-c/auth_sample \ |
||||||
|
PATH=$TMP_PATH \ |
||||||
|
./build_one_example.sh |
||||||
|
|
||||||
|
SCHEME=Sample \ |
||||||
|
EXAMPLE_PATH=src/objective-c/examples/Sample \ |
||||||
|
PATH=$TMP_PATH \ |
||||||
|
./build_one_example.sh |
||||||
|
|
||||||
|
SCHEME=SwiftSample \ |
||||||
|
EXAMPLE_PATH=src/objective-c/examples/SwiftSample \ |
||||||
|
PATH=$TMP_PATH \ |
||||||
|
./build_one_example.sh |
@ -0,0 +1,62 @@ |
|||||||
|
#!/bin/bash |
||||||
|
# Copyright 2016, Google Inc. |
||||||
|
# All rights reserved. |
||||||
|
# |
||||||
|
# Redistribution and use in source and binary forms, with or without |
||||||
|
# modification, are permitted provided that the following conditions are |
||||||
|
# met: |
||||||
|
# |
||||||
|
# * Redistributions of source code must retain the above copyright |
||||||
|
# notice, this list of conditions and the following disclaimer. |
||||||
|
# * Redistributions in binary form must reproduce the above |
||||||
|
# copyright notice, this list of conditions and the following disclaimer |
||||||
|
# in the documentation and/or other materials provided with the |
||||||
|
# distribution. |
||||||
|
# * Neither the name of Google Inc. nor the names of its |
||||||
|
# contributors may be used to endorse or promote products derived from |
||||||
|
# this software without specific prior written permission. |
||||||
|
# |
||||||
|
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS |
||||||
|
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT |
||||||
|
# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR |
||||||
|
# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT |
||||||
|
# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, |
||||||
|
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT |
||||||
|
# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, |
||||||
|
# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY |
||||||
|
# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
||||||
|
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |
||||||
|
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
||||||
|
|
||||||
|
# Don't run this script standalone. Instead, run from the repository root: |
||||||
|
# ./tools/run_tests/run_tests.py -l objc |
||||||
|
|
||||||
|
set -e |
||||||
|
|
||||||
|
# Params: |
||||||
|
# EXAMPLE_PATH - directory of the example |
||||||
|
# SCHEME - scheme of the example, used by xcodebuild |
||||||
|
|
||||||
|
# CocoaPods requires the terminal to be using UTF-8 encoding. |
||||||
|
export LANG=en_US.UTF-8 |
||||||
|
|
||||||
|
cd `dirname $0`/../../.. |
||||||
|
|
||||||
|
cd $EXAMPLE_PATH |
||||||
|
|
||||||
|
# clean the directory |
||||||
|
rm -rf Pods |
||||||
|
rm -rf $SCHEME.xcworkspace |
||||||
|
rm -f Podfile.lock |
||||||
|
|
||||||
|
pod install |
||||||
|
|
||||||
|
set -o pipefail |
||||||
|
XCODEBUILD_FILTER='(^===|^\*\*|\bfatal\b|\berror\b|\bwarning\b|\bfail)' |
||||||
|
xcodebuild \ |
||||||
|
clean build \ |
||||||
|
-workspace *.xcworkspace \ |
||||||
|
-scheme $SCHEME \ |
||||||
|
-destination name="iPhone 6" \ |
||||||
|
| egrep "$XCODEBUILD_FILTER" \ |
||||||
|
| egrep -v "(GPBDictionary|GPBArray)" - |
Loading…
Reference in new issue