Index: recipe_modules/bot_update/api.py |
diff --git a/recipe_modules/bot_update/api.py b/recipe_modules/bot_update/api.py |
index f1f31bd1c3458a65b4c62d3d0d11e8f20314cc03..512a89e414f7c783bd1d32466064054653d14a8d 100644 |
--- a/recipe_modules/bot_update/api.py |
+++ b/recipe_modules/bot_update/api.py |
@@ -66,7 +66,8 @@ class BotUpdateApi(recipe_api.RecipeApi): |
patch=True, update_presentation=True, |
patch_root=None, no_shallow=False, |
with_branch_heads=False, refs=None, |
- patch_oauth2=False, use_site_config_creds=True, |
+ patch_oauth2=False, oauth2_json=False, |
+ use_site_config_creds=True, |
output_manifest=True, clobber=False, |
root_solution_revision=None, rietveld=None, issue=None, |
patchset=None, gerrit_no_reset=False, |
@@ -91,6 +92,9 @@ class BotUpdateApi(recipe_api.RecipeApi): |
assert cfg is not None, ( |
'missing gclient_config or forgot api.gclient.set_config(...) before?') |
+ # Only one of these should exist. |
+ assert not (oauth2_json and patch_oauth2) |
+ |
# Construct our bot_update command. This basically be inclusive of |
# everything required for bot_update to know: |
root = patch_root |
@@ -123,7 +127,13 @@ class BotUpdateApi(recipe_api.RecipeApi): |
# Point to the oauth2 auth files if specified. |
# These paths are where the bots put their credential files. |
- if patch_oauth2: |
+ oauth2_json_file = email_file = key_file = None |
+ if oauth2_json: |
+ if self.m.platform.is_win: |
+ oauth2_json_file = 'C:\\creds\\refresh_tokens\\rietveld.json' |
+ else: |
+ oauth2_json_file = '/creds/refresh_tokens/rietveld.json' |
+ elif patch_oauth2: |
# TODO(martiniss): remove this hack :(. crbug.com/624212 |
if use_site_config_creds: |
email_file = self.m.path['build'].join( |
@@ -134,8 +144,6 @@ class BotUpdateApi(recipe_api.RecipeApi): |
#TODO(martiniss): make this use path.join, so it works on windows |
email_file = '/creds/rietveld/client_email' |
key_file = '/creds/rietveld/secret_key' |
- else: |
- email_file = key_file = None |
# Allow patch_project's revision if necessary. |
# This is important for projects which are checked out as DEPS of the |
@@ -160,6 +168,7 @@ class BotUpdateApi(recipe_api.RecipeApi): |
['--gerrit_ref', gerrit_ref], |
['--apply_issue_email_file', email_file], |
['--apply_issue_key_file', key_file], |
+ ['--apply_issue_oauth2_file', oauth2_json_file], |
# Hookups to JSON output back into recipes. |
['--output_json', self.m.json.output()],] |