From 5efdcae81a18d7690bc4e26697a4a7d3d7c7f1a6 Mon Sep 17 00:00:00 2001 From: Shivam Mathur Date: Wed, 2 Dec 2020 09:08:28 +0530 Subject: [PATCH] Use brew for grpc_php_plugin on macOS --- src/scripts/tools/grpc_php_plugin.sh | 46 ++++++++++++++++++---------- 1 file changed, 30 insertions(+), 16 deletions(-) diff --git a/src/scripts/tools/grpc_php_plugin.sh b/src/scripts/tools/grpc_php_plugin.sh index 30b6ae0c..24a36984 100644 --- a/src/scripts/tools/grpc_php_plugin.sh +++ b/src/scripts/tools/grpc_php_plugin.sh @@ -24,25 +24,39 @@ get_grpc_tag() { fi } +add_grpc_php_plugin_macos() { + brew install grpc + brew link --force --overwrite grpc >/dev/null 2>&1 + grpc_tag="v$(brew info grpc | grep "grpc:" | grep -Eo "[0-9]+\.[0-9]+\.[0-9]+")" + license_path="$(brew --prefix grpc)/LICENSE" +} + +add_grpc_php_plugin_linux() { + get_grpc_tag + get -s -n "" "https://github.com/grpc/grpc/archive/$grpc_tag.tar.gz" | tar -xz -C /tmp + cd "/tmp/grpc-${grpc_tag:1}" || exit + add_bazel + if [ "$DISTRIB_RELEASE" = "16.04" ]; then + CC="$(command -v gcc)" CXX="$(command -v g++)" ./tools/bazel build src/compiler:grpc_php_plugin + else + ./tools/bazel build src/compiler:grpc_php_plugin + fi + sudo mv ./bazel-bin/src/compiler/grpc_php_plugin /usr/local/bin/grpc_php_plugin + sudo chmod a+x /usr/local/bin/grpc_php_plugin + license_path="/tmp/grpc-${grpc_tag:1}/LICENSE" +} + add_grpc_php_plugin() { grpc_tag=$1 - get_grpc_tag - ( - get -s -n "" "https://github.com/grpc/grpc/archive/$grpc_tag.tar.gz" | tar -xz -C /tmp - cd "/tmp/grpc-${grpc_tag:1}" || exit - add_bazel - [ "$(uname -s)" = "Darwin" ] && sudo xcode-select -s /Applications/Xcode_11.7.app - if [ "$DISTRIB_RELEASE" = "16.04" ]; then - CC="$(command -v gcc)" CXX="$(command -v g++)" ./tools/bazel build src/compiler:grpc_php_plugin - else - ./tools/bazel build src/compiler:grpc_php_plugin - fi - sudo mv ./bazel-bin/src/compiler/grpc_php_plugin /usr/local/bin/grpc_php_plugin - sudo chmod a+x /usr/local/bin/grpc_php_plugin - ) >/dev/null 2>&1 - echo "::set-output name=grpc_php_plugin_path::/usr/local/bin/grpc_php_plugin" + license_path="" + if [ "$(uname -s)" = "Darwin" ]; then + add_grpc_php_plugin_macos >/dev/null 2>&1 + else + add_grpc_php_plugin_linux >/dev/null 2>&1 + fi + echo "::set-output name=grpc_php_plugin_path::$(command -v grpc_php_plugin)" add_log "${tick:?}" "grpc_php_plugin" "Added grpc_php_plugin ${grpc_tag:1}" printf "::group::\033[34;1m%s \033[0m\033[90;1m%s \033[0m\n" "grpc_php_plugin" "Click to read the grpc_php_plugin related license information" - cat "/tmp/grpc-${grpc_tag:1}/LICENSE" + cat "$license_path" echo "::endgroup::" }