Index: presubmit_support.py |
diff --git a/presubmit_support.py b/presubmit_support.py |
index 0929bd1c83e8a2a5fe2dd18728fdd81b8efa352a..b0e325ba9673eb1dfabde325c6a6244f0191c536 100755 |
--- a/presubmit_support.py |
+++ b/presubmit_support.py |
@@ -6,7 +6,7 @@ |
"""Enables directory-specific presubmit checks to run at upload and/or commit. |
""" |
-__version__ = '1.6' |
+__version__ = '1.6.1' |
# TODO(joi) Add caching where appropriate/needed. The API is designed to allow |
# caching (between all different invocations of presubmit scripts for a given |
@@ -215,10 +215,8 @@ class InputApi(object): |
r"(|.*[\\\/])\.svn[\\\/].*", |
) |
- # TODO(dpranke): Update callers to pass in tbr, host_url, remove |
- # default arguments. |
- def __init__(self, change, presubmit_path, is_committing, tbr, host_url, |
- verbose): |
+ def __init__(self, change, presubmit_path, is_committing, tbr, |
+ rietveld, verbose): |
"""Builds an InputApi object. |
Args: |
@@ -226,15 +224,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 |
- host_url: scheme, host, and path of rietveld instance |
+ rietveld: rietveld client object |
""" |
# Version number of the presubmit_support script. |
self.version = [int(x) for x in __version__.split('.')] |
self.change = change |
- self.host_url = host_url |
self.is_committing = is_committing |
self.tbr = tbr |
- self.host_url = host_url or 'http://codereview.chromium.org' |
+ self.rietveld = rietveld |
+ # TBD |
+ self.host_url = 'http://codereview.chromium.org' |
+ if self.rietveld: |
+ self.host_url = rietveld.url |
# We expose various modules and functions as attributes of the input_api |
# so that presubmit scripts don't have to import them. |
@@ -932,19 +933,18 @@ def DoGetTrySlaves(changed_files, |
class PresubmitExecuter(object): |
- def __init__(self, change, committing, tbr, host_url, verbose): |
+ def __init__(self, change, committing, tbr, rietveld, 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 |
- host_url: scheme, host, and path of rietveld instance |
- (or None for default) |
+ rietveld: rietveld client object. |
""" |
self.change = change |
self.committing = committing |
self.tbr = tbr |
- self.host_url = host_url |
+ self.rietveld = rietveld |
self.verbose = verbose |
def ExecPresubmitScript(self, script_text, presubmit_path): |
@@ -965,7 +965,7 @@ class PresubmitExecuter(object): |
# Load the presubmit script into context. |
input_api = InputApi(self.change, presubmit_path, self.committing, |
- self.tbr, self.host_url, self.verbose) |
+ self.tbr, self.rietveld, self.verbose) |
context = {} |
try: |
exec script_text in context |
@@ -1000,7 +1000,6 @@ class PresubmitExecuter(object): |
return result |
-# TODO(dpranke): make all callers pass in tbr, host_url? |
def DoPresubmitChecks(change, |
committing, |
verbose, |
@@ -1008,8 +1007,8 @@ def DoPresubmitChecks(change, |
input_stream, |
default_presubmit, |
may_prompt, |
- tbr=False, |
- host_url=None): |
+ tbr, |
+ rietveld): |
"""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 |
@@ -1028,8 +1027,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? |
- host_url: scheme, host, and port of host to use for rietveld-related |
- checks |
+ rietveld: rietveld object. |
Warning: |
If may_prompt is true, output_stream SHOULD be sys.stdout and input_stream |
@@ -1050,7 +1048,7 @@ def DoPresubmitChecks(change, |
if not presubmit_files and verbose: |
output.write("Warning, no presubmit.py found.\n") |
results = [] |
- executer = PresubmitExecuter(change, committing, tbr, host_url, verbose) |
+ executer = PresubmitExecuter(change, committing, tbr, rietveld, verbose) |
if default_presubmit: |
if verbose: |
output.write("Running default presubmit script.\n") |
@@ -1200,7 +1198,9 @@ def Main(argv): |
sys.stdout, |
sys.stdin, |
options.default_presubmit, |
- options.may_prompt) |
+ options.may_prompt, |
+ False, |
+ None) |
return not results.should_continue() |
except PresubmitFailure, e: |
print >> sys.stderr, e |