| #!/bin/bash |
| # Copyright 2015 gRPC authors. |
| # |
| # Licensed under the Apache License, Version 2.0 (the "License"); |
| # you may not use this file except in compliance with the License. |
| # You may obtain a copy of the License at |
| # |
| # http://www.apache.org/licenses/LICENSE-2.0 |
| # |
| # Unless required by applicable law or agreed to in writing, software |
| # distributed under the License is distributed on an "AS IS" BASIS, |
| # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| # See the License for the specific language governing permissions and |
| # limitations under the License. |
| |
| source ~/.rvm/scripts/rvm |
| set -ex |
| |
| cd "$(dirname "$0")/../../.." |
| |
| CONFIG=${CONFIG:-opt} |
| |
| # build C++ qps worker & driver always - we need at least the driver to |
| # run any of the scenarios. |
| # TODO(jtattermusch): C++ worker and driver are not buildable on Windows yet |
| if [ "$OSTYPE" != "msys" ] |
| then |
| # TODO(jtattermusch): not embedding OpenSSL breaks the C# build because |
| # grpc_csharp_ext needs OpenSSL embedded and some intermediate files from |
| # this build will be reused. |
| make CONFIG="${CONFIG}" EMBED_OPENSSL=true EMBED_ZLIB=true qps_worker qps_json_driver -j8 |
| fi |
| |
| PHP_ALREADY_BUILT="" |
| for language in "$@" |
| do |
| case "$language" in |
| "c++") |
| ;; # C++ has already been built. |
| "java") |
| (cd ../grpc-java/ && |
| ./gradlew -PskipCodegen=true :grpc-benchmarks:installDist) |
| ;; |
| "go") |
| tools/run_tests/performance/build_performance_go.sh |
| ;; |
| "php7"|"php7_protobuf_c") |
| if [ -n "$PHP_ALREADY_BUILT" ]; then |
| echo "Skipping PHP build as already built by $PHP_ALREADY_BUILT" |
| else |
| PHP_ALREADY_BUILT=$language |
| tools/run_tests/performance/build_performance_php7.sh |
| fi |
| ;; |
| "csharp") |
| python tools/run_tests/run_tests.py -l "$language" -c "$CONFIG" --build_only -j 8 --compiler coreclr |
| ;; |
| "node"|"node_purejs") |
| tools/run_tests/performance/build_performance_node.sh |
| ;; |
| *) |
| python tools/run_tests/run_tests.py -l "$language" -c "$CONFIG" --build_only -j 8 |
| ;; |
| esac |
| done |