diff options
author | Zeno Albisser <zeno.albisser@digia.com> | 2013-08-15 21:46:11 +0200 |
---|---|---|
committer | Zeno Albisser <zeno.albisser@digia.com> | 2013-08-15 21:46:11 +0200 |
commit | 679147eead574d186ebf3069647b4c23e8ccace6 (patch) | |
tree | fc247a0ac8ff119f7c8550879ebb6d3dd8d1ff69 /chromium/base/PRESUBMIT.py | |
download | qtwebengine-chromium-679147eead574d186ebf3069647b4c23e8ccace6.tar.gz |
Initial import.
Diffstat (limited to 'chromium/base/PRESUBMIT.py')
-rw-r--r-- | chromium/base/PRESUBMIT.py | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/chromium/base/PRESUBMIT.py b/chromium/base/PRESUBMIT.py new file mode 100644 index 00000000000..7137c5a0101 --- /dev/null +++ b/chromium/base/PRESUBMIT.py @@ -0,0 +1,56 @@ +# Copyright (c) 2012 The Chromium Authors. All rights reserved. +# Use of this source code is governed by a BSD-style license that can be +# found in the LICENSE file. + +"""Chromium presubmit script for src/base. + +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 "/test/" in f.LocalPath() and + not f.LocalPath().endswith('_unittest.mm') and + not f.LocalPath().endswith('mac/sdk_forward_declarations.h')): + 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', + 'mac_rel:sync_integration_tests', + 'win_rel:sync_integration_tests', + ] |