diff options
author | avi@chromium.org <avi@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-06-16 18:51:20 +0000 |
---|---|---|
committer | avi@chromium.org <avi@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-06-16 18:51:20 +0000 |
commit | 23e6cbc5da2d51992e783accc63a50c298ee12d8 (patch) | |
tree | 237a75b8a4c7e09ec1dd61cfeb1ca6a0adc4396f /base | |
parent | 820e9a488fa9a96e708a890ac882fdf826632912 (diff) | |
download | chromium_src-23e6cbc5da2d51992e783accc63a50c298ee12d8.zip chromium_src-23e6cbc5da2d51992e783accc63a50c298ee12d8.tar.gz chromium_src-23e6cbc5da2d51992e783accc63a50c298ee12d8.tar.bz2 |
Simplify PRESUBMITs.
BUG=none
TEST=none
Review URL: https://chromiumcodereview.appspot.com/10554009
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@142608 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'base')
-rw-r--r-- | base/PRESUBMIT.py | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/base/PRESUBMIT.py b/base/PRESUBMIT.py index 6b04b82..7d6fc09 100644 --- a/base/PRESUBMIT.py +++ b/base/PRESUBMIT.py @@ -8,6 +8,44 @@ See http://dev.chromium.org/developers/how-tos/depottools/presubmit-scripts for more details on the presubmit API built into gcl. """ +def _CheckNoInterfacesInBase(input_api, output_api): + """Checks to make sure no files in libbase.a have |@interface|.""" + pattern = input_api.re.compile(r'^\s*@interface', input_api.re.MULTILINE) + files = [] + for f in input_api.AffectedSourceFiles(input_api.FilterSourceFile): + if (f.LocalPath().startswith('base/') and + not f.LocalPath().endswith('_unittest.mm')): + contents = input_api.ReadFile(f) + if pattern.search(contents): + files.append(f) + + if len(files): + return [ output_api.PresubmitError( + 'Objective-C interfaces or categories are forbidden in libbase. ' + + 'See http://groups.google.com/a/chromium.org/group/chromium-dev/' + + 'browse_thread/thread/efb28c10435987fd', + files) ] + return [] + + +def _CommonChecks(input_api, output_api): + """Checks common to both upload and commit.""" + results = [] + results.extend(_CheckNoInterfacesInBase(input_api, output_api)) + return results + +def CheckChangeOnUpload(input_api, output_api): + results = [] + results.extend(_CommonChecks(input_api, output_api)) + return results + + +def CheckChangeOnCommit(input_api, output_api): + results = [] + results.extend(_CommonChecks(input_api, output_api)) + return results + + def GetPreferredTrySlaves(): return [ 'linux_rel:sync_integration_tests', |