Merge pull request #17229 from lidizheng/make-docgen-py-work

Make docgen.py work
pull/17237/head
Lidi Zheng 6 years ago committed by GitHub
commit 31e8a6aa32
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 39
      tools/distrib/python/docgen.py

@ -32,12 +32,10 @@ parser.add_argument(
help='GRPC/GPR libraries build configuration', help='GRPC/GPR libraries build configuration',
default='opt') default='opt')
parser.add_argument('--submit', action='store_true') parser.add_argument('--submit', action='store_true')
parser.add_argument('--gh-user', type=str, help='GitHub user to push as.')
parser.add_argument( parser.add_argument(
'--gh-repo-owner', '--repo-owner',
type=str, type=str,
help=('Owner of the GitHub repository to be pushed; ' help=('Owner of the GitHub repository to be pushed'))
'defaults to --gh-user.'))
parser.add_argument('--doc-branch', type=str) parser.add_argument('--doc-branch', type=str)
args = parser.parse_args() args = parser.parse_args()
@ -70,7 +68,7 @@ subprocess_arguments_list = [
'env': environment 'env': environment
}, },
{ {
'args': [VIRTUALENV_PIP_PATH, 'install', '--upgrade', 'pip==10.0.1'], 'args': [VIRTUALENV_PIP_PATH, 'install', '--upgrade', 'pip==18.1'],
'env': environment 'env': environment
}, },
{ {
@ -78,7 +76,7 @@ subprocess_arguments_list = [
'env': environment 'env': environment
}, },
{ {
'args': [VIRTUALENV_PYTHON_PATH, SETUP_PATH, 'build'], 'args': [VIRTUALENV_PIP_PATH, 'install', 'Sphinx~=1.8.1'],
'env': environment 'env': environment
}, },
{ {
@ -91,12 +89,12 @@ for subprocess_arguments in subprocess_arguments_list:
print('Running command: {}'.format(subprocess_arguments['args'])) print('Running command: {}'.format(subprocess_arguments['args']))
subprocess.check_call(**subprocess_arguments) subprocess.check_call(**subprocess_arguments)
if args.submit: if not args.submit:
assert args.gh_user print('Please check generated Python doc inside doc/build')
elif args.submit:
assert args.repo_owner
assert args.doc_branch assert args.doc_branch
github_user = args.gh_user github_repository_owner = args.repo_owner
github_repository_owner = (args.gh_repo_owner
if args.gh_repo_owner else args.gh_user)
# Create a temporary directory out of tree, checkout gh-pages from the # Create a temporary directory out of tree, checkout gh-pages from the
# specified repository, edit it, and push it. It's up to the user to then go # specified repository, edit it, and push it. It's up to the user to then go
# onto GitHub and make a PR against grpc/grpc:gh-pages. # onto GitHub and make a PR against grpc/grpc:gh-pages.
@ -109,16 +107,19 @@ if args.submit:
print('Cloning your repository...') print('Cloning your repository...')
subprocess.check_call( subprocess.check_call(
[ [
'git', 'clone', 'https://{}@github.com/{}/grpc'.format( 'git',
github_user, github_repository_owner) 'clone',
'--branch',
'gh-pages',
'https://github.com/grpc/grpc',
], ],
cwd=repo_parent_dir) cwd=repo_parent_dir)
subprocess.check_call(['git', 'checkout', '-b', doc_branch], cwd=repo_dir)
subprocess.check_call( subprocess.check_call(
['git', 'remote', 'add', 'upstream', 'https://github.com/grpc/grpc'], [
cwd=repo_dir) 'git', 'remote', 'add', 'ssh-origin',
subprocess.check_call(['git', 'fetch', 'upstream'], cwd=repo_dir) 'git@github.com:%s/grpc.git' % (github_repository_owner)
subprocess.check_call( ],
['git', 'checkout', 'upstream/gh-pages', '-b', doc_branch],
cwd=repo_dir) cwd=repo_dir)
print('Updating documentation...') print('Updating documentation...')
shutil.rmtree(python_doc_dir, ignore_errors=True) shutil.rmtree(python_doc_dir, ignore_errors=True)
@ -130,7 +131,7 @@ if args.submit:
['git', 'commit', '-m', 'Auto-update Python documentation'], ['git', 'commit', '-m', 'Auto-update Python documentation'],
cwd=repo_dir) cwd=repo_dir)
subprocess.check_call( subprocess.check_call(
['git', 'push', '--set-upstream', 'origin', doc_branch], ['git', 'push', '--set-upstream', 'ssh-origin', doc_branch],
cwd=repo_dir) cwd=repo_dir)
except subprocess.CalledProcessError: except subprocess.CalledProcessError:
print('Failed to push documentation. Examine this directory and push ' print('Failed to push documentation. Examine this directory and push '

Loading…
Cancel
Save