diff options
author | Yuchen Zeng <zyc@google.com> | 2017-01-18 18:49:07 -0800 |
---|---|---|
committer | Yuchen Zeng <zyc@google.com> | 2017-01-18 18:49:07 -0800 |
commit | 04ec4701e303b8b41d90d5ce6861689c7f0fab7f (patch) | |
tree | b37a55fead11bb07956718671aa1b1ed1bbb3991 /tools/distrib/pyformat_code.sh | |
parent | b0023d25dc783ba77164c03a39bb7dcc7e446fe8 (diff) | |
parent | 6da1dc87aa3384594e9ab6218b1e0886573108de (diff) |
Merge remote-tracking branch 'upstream/master' into cares_buildin
Diffstat (limited to 'tools/distrib/pyformat_code.sh')
-rwxr-xr-x | tools/distrib/pyformat_code.sh | 60 |
1 files changed, 60 insertions, 0 deletions
diff --git a/tools/distrib/pyformat_code.sh b/tools/distrib/pyformat_code.sh new file mode 100755 index 0000000000..e3ebf1c490 --- /dev/null +++ b/tools/distrib/pyformat_code.sh @@ -0,0 +1,60 @@ +#!/bin/bash +# Copyright 2015, 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. + +set -ex + +# change to root directory +cd $(dirname $0)/../.. + +DIRS=src/python +EXCLUSIONS='src/python/grpcio/grpc_*.py src/python/grpcio_health_checking/grpc_*.py src/python/grpcio_reflection/grpc_*.py src/python/grpcio_tests/grpc_*.py' + +VIRTUALENV=python_format_venv + +virtualenv $VIRTUALENV +PYTHON=`realpath $VIRTUALENV/bin/python` +$PYTHON -m pip install --upgrade futures yapf + +exclusion_args="" +for exclusion in $EXCLUSIONS; do + exclusion_args="$exclusion_args --exclude $exclusion" +done + +script_result=0 +for dir in $DIRS; do + tempdir=`mktemp -d` + cp -RT $dir $tempdir + $PYTHON -m yapf -i -r -p $exclusion_args $dir + if ! diff -rq $dir $tempdir; then + script_result=1 + fi + rm -rf $tempdir +done +exit $script_result |