Index: recipe_modules/bot_update/resources/bot_update.py |
diff --git a/recipe_modules/bot_update/resources/bot_update.py b/recipe_modules/bot_update/resources/bot_update.py |
index fe8dd66ffd0a5eb78b2e218362730cccadc0b8ac..9010697eefa45163fd64c460193ab21a1a23066c 100755 |
--- a/recipe_modules/bot_update/resources/bot_update.py |
+++ b/recipe_modules/bot_update/resources/bot_update.py |
@@ -1036,7 +1036,8 @@ def apply_svn_patch(patch_root, patches, whitelist=None, blacklist=None): |
raise PatchFailed(e.message, e.code, e.output) |
def apply_rietveld_issue(issue, patchset, root, server, _rev_map, _revision, |
- email_file, key_file, whitelist=None, blacklist=None): |
+ email_file, key_file, oauth2_file, |
+ whitelist=None, blacklist=None): |
apply_issue_bin = ('apply_issue.bat' if sys.platform.startswith('win') |
else 'apply_issue') |
cmd = [apply_issue_bin, |
@@ -1051,8 +1052,10 @@ def apply_rietveld_issue(issue, patchset, root, server, _rev_map, _revision, |
# Don't run gclient sync when it sees a DEPS change. |
'--ignore_deps', |
] |
- # Use an oauth key file if specified. |
- if email_file and key_file: |
+ # Use an oauth key or json file if specified. |
+ if oauth2_file: |
+ cmd.extend(['--auth-refresh-token-json', oauth2_file]) |
+ elif email_file and key_file: |
cmd.extend(['--email-file', email_file, '--private-key-file', key_file]) |
else: |
cmd.append('--no-auth') |
@@ -1266,8 +1269,9 @@ def ensure_checkout(solutions, revisions, first_sln, target_os, target_os_only, |
patch_root, issue, patchset, patch_url, rietveld_server, |
gerrit_repo, gerrit_ref, gerrit_rebase_patch_ref, |
revision_mapping, apply_issue_email_file, |
- apply_issue_key_file, buildspec, gyp_env, shallow, runhooks, |
- refs, git_cache_dir, gerrit_reset): |
+ apply_issue_key_file, apply_issue_oauth2_file, buildspec, |
+ gyp_env, shallow, runhooks, refs, git_cache_dir, |
+ gerrit_reset): |
# Get a checkout of each solution, without DEPS or hooks. |
# Calling git directly because there is no way to run Gclient without |
# invoking DEPS. |
@@ -1296,7 +1300,8 @@ def ensure_checkout(solutions, revisions, first_sln, target_os, target_os_only, |
elif issue: |
apply_rietveld_issue(issue, patchset, patch_root, rietveld_server, |
revision_mapping, git_ref, apply_issue_email_file, |
- apply_issue_key_file, whitelist=[target]) |
+ apply_issue_key_file, apply_issue_oauth2_file, |
+ whitelist=[target]) |
already_patched.append(target) |
elif gerrit_ref and gerrit_rebase_patch_ref: |
apply_gerrit_ref(gerrit_repo, gerrit_ref, patch_root, gerrit_reset, |
@@ -1333,7 +1338,8 @@ def ensure_checkout(solutions, revisions, first_sln, target_os, target_os_only, |
elif issue: |
apply_rietveld_issue(issue, patchset, patch_root, rietveld_server, |
revision_mapping, git_ref, apply_issue_email_file, |
- apply_issue_key_file, blacklist=already_patched) |
+ apply_issue_key_file, apply_issue_oauth2_file, |
+ blacklist=already_patched) |
elif gerrit_ref and not gerrit_rebase_patch_ref: |
apply_gerrit_ref(gerrit_repo, gerrit_ref, patch_root, gerrit_reset, False) |
@@ -1404,6 +1410,9 @@ def parse_args(): |
parse.add_option('--apply_issue_key_file', |
help='--private-key-file option passthrough for ' |
'apply_patch.py.') |
+ parse.add_option('--apply_issue_oauth2_file', |
+ help='--auth-refresh-token-json option passthrough for ' |
+ 'apply_patch.py.') |
parse.add_option('--patch_url', help='Optional URL to SVN patch.') |
parse.add_option('--root', dest='patch_root', |
help='DEPRECATED: Use --patch_root.') |
@@ -1581,6 +1590,7 @@ def checkout(options, git_slns, specs, buildspec, master, |
revision_mapping=options.revision_mapping, |
apply_issue_email_file=options.apply_issue_email_file, |
apply_issue_key_file=options.apply_issue_key_file, |
+ apply_issue_oauth2_file=options.apply_issue_oauth2_file, |
# For official builders. |
buildspec=buildspec, |