| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139 | # Copyright (c) 2012 Google Inc. All rights reserved.# Use of this source code is governed by a BSD-style license that can be# found in the LICENSE file."""Top-level presubmit script for GYP.See http://dev.chromium.org/developers/how-tos/depottools/presubmit-scriptsfor more details about the presubmit API built into gcl."""PYLINT_BLACKLIST = [    # TODO: fix me.    # From SCons, not done in google style.    'test/lib/TestCmd.py',    'test/lib/TestCommon.py',    'test/lib/TestGyp.py',]PYLINT_DISABLED_WARNINGS = [    # TODO: fix me.    # Many tests include modules they don't use.    'W0611',    # Possible unbalanced tuple unpacking with sequence.    'W0632',    # Attempting to unpack a non-sequence.    'W0633',    # Include order doesn't properly include local files?    'F0401',    # Some use of built-in names.    'W0622',    # Some unused variables.    'W0612',    # Operator not preceded/followed by space.    'C0323',    'C0322',    # Unnecessary semicolon.    'W0301',    # Unused argument.    'W0613',    # String has no effect (docstring in wrong place).    'W0105',    # map/filter on lambda could be replaced by comprehension.    'W0110',    # Use of eval.    'W0123',    # Comma not followed by space.    'C0324',    # Access to a protected member.    'W0212',    # Bad indent.    'W0311',    # Line too long.    'C0301',    # Undefined variable.    'E0602',    # Not exception type specified.    'W0702',    # No member of that name.    'E1101',    # Dangerous default {}.    'W0102',    # Cyclic import.    'R0401',    # Others, too many to sort.    'W0201', 'W0232', 'E1103', 'W0621', 'W0108', 'W0223', 'W0231',    'R0201', 'E0101', 'C0321',    # ************* Module copy    # W0104:427,12:_test.odict.__setitem__: Statement seems to have no effect    'W0104',]def _LicenseHeader(input_api):  # Accept any year number from 2009 to the current year.  current_year = int(input_api.time.strftime('%Y'))  allowed_years = (str(s) for s in reversed(xrange(2009, current_year + 1)))  years_re = '(' + '|'.join(allowed_years) + ')'  # The (c) is deprecated, but tolerate it until it's removed from all files.  return (      r'.*? Copyright (\(c\) )?%(year)s Google Inc\. All rights reserved\.\n'      r'.*? Use of this source code is governed by a BSD-style license that '        r'can be\n'      r'.*? found in the LICENSE file\.\n'  ) % {      'year': years_re,  }def CheckChangeOnUpload(input_api, output_api):  report = []  report.extend(input_api.canned_checks.PanProjectChecks(      input_api, output_api, license_header=_LicenseHeader(input_api)))  return reportdef CheckChangeOnCommit(input_api, output_api):  report = []  report.extend(input_api.canned_checks.PanProjectChecks(      input_api, output_api, license_header=_LicenseHeader(input_api)))  report.extend(input_api.canned_checks.CheckTreeIsOpen(      input_api, output_api,      'http://gyp-status.appspot.com/status',      'http://gyp-status.appspot.com/current'))  import os  import sys  old_sys_path = sys.path  try:    sys.path = ['pylib', 'test/lib'] + sys.path    blacklist = PYLINT_BLACKLIST    if sys.platform == 'win32':      blacklist = [os.path.normpath(x).replace('\\', '\\\\')                   for x in PYLINT_BLACKLIST]    report.extend(input_api.canned_checks.RunPylint(        input_api,        output_api,        black_list=blacklist,        disabled_warnings=PYLINT_DISABLED_WARNINGS))  finally:    sys.path = old_sys_path  return reportTRYBOTS = [    'linux_try',    'mac_try',    'win_try',]def GetPreferredTryMasters(_, change):  return {      'client.gyp': { t: set(['defaulttests']) for t in TRYBOTS },  }
 |