|
|
|
@ -1,5 +1,5 @@ |
|
|
|
|
#!/usr/bin/env python2.7 |
|
|
|
|
# Copyright 2015, Google Inc. |
|
|
|
|
# Copyright 2015-2016, Google Inc. |
|
|
|
|
# All rights reserved. |
|
|
|
|
# |
|
|
|
|
# Redistribution and use in source and binary forms, with or without |
|
|
|
@ -646,6 +646,9 @@ argp.add_argument('--build_only', |
|
|
|
|
action='store_const', |
|
|
|
|
const=True, |
|
|
|
|
help='Perform all the build steps but dont run any tests.') |
|
|
|
|
argp.add_argument('--update_submodules', default=[], nargs='*', |
|
|
|
|
help='Update some submodules before building. If any are updated, also run generate_projects. ' + |
|
|
|
|
'Submodules are specified as SUBMODULE_NAME:BRANCH; if BRANCH is omitted, master is assumed.') |
|
|
|
|
argp.add_argument('-a', '--antagonists', default=0, type=int) |
|
|
|
|
argp.add_argument('-x', '--xml_report', default=None, type=str, |
|
|
|
|
help='Generates a JUnit-compatible XML report') |
|
|
|
@ -681,6 +684,26 @@ if args.use_docker: |
|
|
|
|
env=env) |
|
|
|
|
sys.exit(0) |
|
|
|
|
|
|
|
|
|
# update submodules if necessary |
|
|
|
|
if args.update_submodules: |
|
|
|
|
for spec in args.update_submodules: |
|
|
|
|
spec = spec.split(':', 1) |
|
|
|
|
if len(spec) == 1: |
|
|
|
|
submodule = spec[0] |
|
|
|
|
branch = 'master' |
|
|
|
|
elif len(spec) == 2: |
|
|
|
|
submodule = spec[0] |
|
|
|
|
branch = spec[1] |
|
|
|
|
cwd = 'third_party/%s' % submodule |
|
|
|
|
def git(cmd, cwd=cwd): |
|
|
|
|
print 'in %s: git %s' % (cwd, cmd) |
|
|
|
|
subprocess.check_call('git %s' % cmd, cwd=cwd, shell=True) |
|
|
|
|
git('fetch') |
|
|
|
|
git('checkout %s' % branch) |
|
|
|
|
git('pull origin %s' % branch) |
|
|
|
|
subprocess.check_call('tools/buildgen/generate_projects.sh', shell=True) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# grab config |
|
|
|
|
run_configs = set(_CONFIGS[cfg] |
|
|
|
|
for cfg in itertools.chain.from_iterable( |
|
|
|
@ -692,7 +715,7 @@ if args.travis: |
|
|
|
|
_FORCE_ENVIRON_FOR_WRAPPERS = {'GRPC_TRACE': 'api'} |
|
|
|
|
|
|
|
|
|
if 'all' in args.language: |
|
|
|
|
lang_list = _LANGUAGES.keys() |
|
|
|
|
lang_list = _LANGUAGES.keys() |
|
|
|
|
else: |
|
|
|
|
lang_list = args.language |
|
|
|
|
# We don't support code coverage on ObjC |
|
|
|
|