diff options
Diffstat (limited to 'grpc/tools/buildgen/generate_projects.sh')
-rwxr-xr-x | grpc/tools/buildgen/generate_projects.sh | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/grpc/tools/buildgen/generate_projects.sh b/grpc/tools/buildgen/generate_projects.sh index 9b5c0f50..b98be3ba 100755 --- a/grpc/tools/buildgen/generate_projects.sh +++ b/grpc/tools/buildgen/generate_projects.sh @@ -1,4 +1,4 @@ -#!/bin/sh +#! /bin/bash # Copyright 2015 gRPC authors. # # Licensed under the Apache License, Version 2.0 (the "License"); @@ -18,15 +18,19 @@ set -e export TEST=${TEST:-false} -# Upgrade Python's YAML library -python3 -m pip install --upgrade --ignore-installed PyYAML --user +YAML_OK=$(python3 -c "import yaml; print(yaml.__version__.split('.') >= ['5', '4', '1'])") + +if [[ "${YAML_OK}" != "True" ]]; then + # PyYAML dropped 3.5 support at 5.4.1, which makes 5.3.1 the latest version we + # can use. + python3 -m pip install --upgrade --ignore-installed PyYAML==5.3.1 --user +fi echo "Generating build_autogenerated.yaml from bazel BUILD file" rm -f build_autogenerated.yaml python3 tools/buildgen/extract_metadata_from_bazel_xml.py cd `dirname $0`/../.. -mako_renderer=tools/buildgen/mako_renderer.py tools/buildgen/build_cleaner.py build_handwritten.yaml @@ -38,6 +42,6 @@ TEST=true tools/buildgen/build_cleaner.py build_autogenerated.yaml # Instead of generating from a single build.yaml, we've split it into # - build_handwritten.yaml: manually written metadata # - build_autogenerated.yaml: generated from bazel BUILD file -python3 tools/buildgen/generate_projects.py build_handwritten.yaml build_autogenerated.yaml $gen_build_files $* +python3 tools/buildgen/generate_projects.py build_handwritten.yaml build_autogenerated.yaml $gen_build_files "$@" rm $gen_build_files |