xref: /aosp_15_r20/external/grpc-grpc/tools/distrib/black_code.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
16set -ex
17
18ACTION="${1:-}"
19[[ $ACTION == '' ]] || [[ $ACTION == '--diff' ]] || [[ $ACTION == '--check' ]]
20
21# change to root directory
22cd "$(dirname "${0}")/../.."
23
24DIRS=(
25    'examples'
26    'src'
27    'test'
28    'tools'
29    'setup.py'
30)
31
32VIRTUALENV=black_virtual_environment
33
34python3 -m virtualenv $VIRTUALENV -p $(which python3)
35PYTHON=${VIRTUALENV}/bin/python
36"$PYTHON" -m pip install black==23.3.0
37
38$PYTHON -m black --config=black.toml $ACTION "${DIRS[@]}"
39