Add warning batching in gclient_utils

BUG=

Review URL: https://codereview.chromium.org/209393006

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@258982 0039d316-1c4b-4281-b951-d872f2087c98
experimental/szager/collated-output
borenet@google.com 11 years ago
parent 88d100836d
commit 6a9b168463

@ -1052,7 +1052,7 @@ solutions = [
scm = gclient_scm.CreateSCM(dep.url, self.root_dir, dep.name) scm = gclient_scm.CreateSCM(dep.url, self.root_dir, dep.name)
actual_url = scm.GetActualRemoteURL() actual_url = scm.GetActualRemoteURL()
if actual_url and not scm.DoesRemoteURLMatch(): if actual_url and not scm.DoesRemoteURLMatch():
print >> sys.stderr, (''' gclient_utils.AddWarning('''
################################################################################ ################################################################################
################################### WARNING! ################################### ################################### WARNING! ###################################
################################################################################ ################################################################################
@ -1957,6 +1957,8 @@ def Main(argv):
except (gclient_utils.Error, subprocess2.CalledProcessError), e: except (gclient_utils.Error, subprocess2.CalledProcessError), e:
print >> sys.stderr, 'Error: %s' % str(e) print >> sys.stderr, 'Error: %s' % str(e)
return 1 return 1
finally:
gclient_utils.PrintWarnings()
if '__main__' == __name__: if '__main__' == __name__:

@ -27,6 +27,9 @@ RETRY_MAX = 3
RETRY_INITIAL_SLEEP = 0.5 RETRY_INITIAL_SLEEP = 0.5
_WARNINGS = []
class Error(Exception): class Error(Exception):
"""gclient exception class.""" """gclient exception class."""
def __init__(self, msg, *args, **kwargs): def __init__(self, msg, *args, **kwargs):
@ -36,6 +39,19 @@ class Error(Exception):
super(Error, self).__init__(msg, *args, **kwargs) super(Error, self).__init__(msg, *args, **kwargs)
def PrintWarnings():
"""Prints any accumulated warnings."""
if _WARNINGS:
print >> sys.stderr, '\n\nWarnings:'
for warning in _WARNINGS:
print >> sys.stderr, warning
def AddWarning(msg):
"""Adds the given warning message to the list of accumulated warnings."""
_WARNINGS.append(msg)
def SplitUrlRevision(url): def SplitUrlRevision(url):
"""Splits url and returns a two-tuple: url, rev""" """Splits url and returns a two-tuple: url, rev"""
if url.startswith('ssh:'): if url.startswith('ssh:'):

Loading…
Cancel
Save