summaryrefslogtreecommitdiffstats
path: root/base
diff options
context:
space:
mode:
authoravi@chromium.org <avi@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-06-16 18:51:20 +0000
committeravi@chromium.org <avi@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-06-16 18:51:20 +0000
commit23e6cbc5da2d51992e783accc63a50c298ee12d8 (patch)
tree237a75b8a4c7e09ec1dd61cfeb1ca6a0adc4396f /base
parent820e9a488fa9a96e708a890ac882fdf826632912 (diff)
downloadchromium_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.py38
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',