Index: presubmit_support.py |
diff --git a/presubmit_support.py b/presubmit_support.py |
index 074403398114a5165e14df76d20844702b280164..e1fcd3d086c209c1172f207f2ed3dc484b2f4c92 100755 |
--- a/presubmit_support.py |
+++ b/presubmit_support.py |
@@ -47,6 +47,7 @@ import fix_encoding |
import gclient_utils |
import owners |
import presubmit_canned_checks |
+import rietveld |
import scm |
import subprocess2 as subprocess # Exposed through the API. |
@@ -216,7 +217,7 @@ class InputApi(object): |
) |
def __init__(self, change, presubmit_path, is_committing, tbr, |
- rietveld, verbose): |
+ rietveld_obj, verbose): |
"""Builds an InputApi object. |
Args: |
@@ -224,18 +225,18 @@ class InputApi(object): |
presubmit_path: The path to the presubmit script being processed. |
is_committing: True if the change is about to be committed. |
tbr: True if '--tbr' was passed to skip any reviewer/owner checks |
- rietveld: rietveld client object |
+ rietveld_obj: rietveld.Rietveld client object |
""" |
# Version number of the presubmit_support script. |
self.version = [int(x) for x in __version__.split('.')] |
self.change = change |
self.is_committing = is_committing |
self.tbr = tbr |
- self.rietveld = rietveld |
+ self.rietveld = rietveld_obj |
# TBD |
self.host_url = 'http://codereview.chromium.org' |
if self.rietveld: |
- self.host_url = rietveld.url |
+ self.host_url = self.rietveld.url |
# We expose various modules and functions as attributes of the input_api |
# so that presubmit scripts don't have to import them. |
@@ -955,18 +956,18 @@ def DoGetTrySlaves(changed_files, |
class PresubmitExecuter(object): |
- def __init__(self, change, committing, tbr, rietveld, verbose): |
+ def __init__(self, change, committing, tbr, rietveld_obj, verbose): |
""" |
Args: |
change: The Change object. |
committing: True if 'gcl commit' is running, False if 'gcl upload' is. |
tbr: True if '--tbr' was passed to skip any reviewer/owner checks |
- rietveld: rietveld client object. |
+ rietveld_obj: rietveld.Rietveld client object. |
""" |
self.change = change |
self.committing = committing |
self.tbr = tbr |
- self.rietveld = rietveld |
+ self.rietveld = rietveld_obj |
self.verbose = verbose |
def ExecPresubmitScript(self, script_text, presubmit_path): |
@@ -1030,7 +1031,7 @@ def DoPresubmitChecks(change, |
default_presubmit, |
may_prompt, |
tbr, |
- rietveld): |
+ rietveld_obj): |
"""Runs all presubmit checks that apply to the files in the change. |
This finds all PRESUBMIT.py files in directories enclosing the files in the |
@@ -1049,7 +1050,7 @@ def DoPresubmitChecks(change, |
default_presubmit: A default presubmit script to execute in any case. |
may_prompt: Enable (y/n) questions on warning or error. |
tbr: was --tbr specified to skip any reviewer/owner checks? |
- rietveld: rietveld object. |
+ rietveld_obj: rietveld.Rietveld object. |
Warning: |
If may_prompt is true, output_stream SHOULD be sys.stdout and input_stream |
@@ -1076,7 +1077,7 @@ def DoPresubmitChecks(change, |
if not presubmit_files and verbose: |
output.write("Warning, no presubmit.py found.\n") |
results = [] |
- executer = PresubmitExecuter(change, committing, tbr, rietveld, verbose) |
+ executer = PresubmitExecuter(change, committing, tbr, rietveld_obj, verbose) |
if default_presubmit: |
if verbose: |
output.write("Running default presubmit script.\n") |
@@ -1205,6 +1206,9 @@ def Main(argv): |
"system directories will also be searched.") |
parser.add_option("--default_presubmit") |
parser.add_option("--may_prompt", action='store_true', default=False) |
+ parser.add_option("--rietveld_url", help=optparse.SUPPRESS_HELP) |
+ parser.add_option("--rietveld_email", help=optparse.SUPPRESS_HELP) |
+ parser.add_option("--rietveld_password", help=optparse.SUPPRESS_HELP) |
options, args = parser.parse_args(argv) |
if options.verbose >= 2: |
logging.basicConfig(level=logging.DEBUG) |
@@ -1216,6 +1220,12 @@ def Main(argv): |
if not change_class: |
parser.error('For unversioned directory, <files> is not optional.') |
logging.info('Found %d file(s).' % len(files)) |
+ rietveld_obj = None |
+ if options.rietveld_url: |
+ rietveld_obj = rietveld.Rietveld( |
+ options.rietveld_url, |
+ options.rietveld_email, |
+ options.rietveld_password) |
try: |
results = DoPresubmitChecks( |
change_class(options.name, |
@@ -1232,7 +1242,7 @@ def Main(argv): |
options.default_presubmit, |
options.may_prompt, |
False, |
- None) |
+ rietveld_obj) |
return not results.should_continue() |
except PresubmitFailure, e: |
print >> sys.stderr, e |