aboutsummaryrefslogtreecommitdiffhomepage
path: root/tools/distrib
diff options
context:
space:
mode:
Diffstat (limited to 'tools/distrib')
-rwxr-xr-xtools/distrib/check_copyright.py1
-rwxr-xr-xtools/distrib/python/docgen.py25
-rwxr-xr-xtools/distrib/yapf_code.sh60
3 files changed, 79 insertions, 7 deletions
diff --git a/tools/distrib/check_copyright.py b/tools/distrib/check_copyright.py
index 718bb563f3..c993407eb2 100755
--- a/tools/distrib/check_copyright.py
+++ b/tools/distrib/check_copyright.py
@@ -90,6 +90,7 @@ LICENSE_PREFIX = {
'Makefile': r'#\s*',
'Dockerfile': r'#\s*',
'LICENSE': '',
+ 'BUILD': r'#\s*',
}
_EXEMPT = frozenset((
diff --git a/tools/distrib/python/docgen.py b/tools/distrib/python/docgen.py
index 38ffcd6e0e..fddaa2ba3e 100755
--- a/tools/distrib/python/docgen.py
+++ b/tools/distrib/python/docgen.py
@@ -28,11 +28,14 @@
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+from __future__ import print_function
+
import argparse
import os
import os.path
import shutil
import subprocess
+import sys
import tempfile
parser = argparse.ArgumentParser()
@@ -99,6 +102,7 @@ if args.submit:
python_doc_dir = os.path.join(repo_dir, 'python')
doc_branch = args.doc_branch
+ print('Cloning your repository...')
subprocess.check_call([
'git', 'clone', 'https://{}@github.com/{}/grpc'.format(
github_user, github_repository_owner)
@@ -110,13 +114,20 @@ if args.submit:
subprocess.check_call([
'git', 'checkout', 'upstream/gh-pages', '-b', doc_branch
], cwd=repo_dir)
+ print('Updating documentation...')
shutil.rmtree(python_doc_dir, ignore_errors=True)
shutil.copytree(DOC_PATH, python_doc_dir)
- subprocess.check_call(['git', 'add', '--all'], cwd=repo_dir)
- subprocess.check_call([
- 'git', 'commit', '-m', 'Auto-update Python documentation'
- ], cwd=repo_dir)
- subprocess.check_call([
- 'git', 'push', '--set-upstream', 'origin', doc_branch
- ], cwd=repo_dir)
+ print('Attempting to push documentation...')
+ try:
+ subprocess.check_call(['git', 'add', '--all'], cwd=repo_dir)
+ subprocess.check_call([
+ 'git', 'commit', '-m', 'Auto-update Python documentation'
+ ], cwd=repo_dir)
+ subprocess.check_call([
+ 'git', 'push', '--set-upstream', 'origin', doc_branch
+ ], cwd=repo_dir)
+ except subprocess.CalledProcessError:
+ print('Failed to push documentation. Examine this directory and push '
+ 'manually: {}'.format(repo_parent_dir))
+ sys.exit(1)
shutil.rmtree(repo_parent_dir)
diff --git a/tools/distrib/yapf_code.sh b/tools/distrib/yapf_code.sh
new file mode 100755
index 0000000000..e3ebf1c490
--- /dev/null
+++ b/tools/distrib/yapf_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