summaryrefslogtreecommitdiff
path: root/PRESUBMIT.py
diff options
context:
space:
mode:
Diffstat (limited to 'PRESUBMIT.py')
-rw-r--r--PRESUBMIT.py69
1 files changed, 0 insertions, 69 deletions
diff --git a/PRESUBMIT.py b/PRESUBMIT.py
index 5dd22e25f0..1ad3a5ea3e 100644
--- a/PRESUBMIT.py
+++ b/PRESUBMIT.py
@@ -8,76 +8,7 @@ See http://dev.chromium.org/developers/how-tos/depottools/presubmit-scripts
for more details about the presubmit API built into depot_tools.
"""
-def _CheckUnwantedDependencies(input_api, output_api):
- """Runs checkdeps on #include statements added in this
- change. Breaking - rules is an error, breaking ! rules is a
- warning.
- """
- import sys
- # We need to wait until we have an input_api object and use this
- # roundabout construct to import checkdeps because this file is
- # eval-ed and thus doesn't have __file__.
- original_sys_path = sys.path
- try:
- checkdeps_relpath = input_api.os_path.join('buildtools', 'checkdeps')
- checkdeps_basepath = input_api.PresubmitLocalPath()
- checkdeps_path = input_api.os_path.join(checkdeps_basepath,
- checkdeps_relpath)
- while not input_api.os_path.exists(checkdeps_path):
- if checkdeps_basepath == input_api.os_path.dirname(checkdeps_basepath):
- raise ImportError('Cannot find checkdeps')
- checkdeps_basepath = input_api.os_path.dirname(checkdeps_basepath)
- checkdeps_path = input_api.os_path.join(checkdeps_basepath,
- checkdeps_relpath)
-
- sys.path.append(checkdeps_path)
- import checkdeps
- from cpp_checker import CppChecker
- from rules import Rule
- finally:
- # Restore sys.path to what it was before.
- sys.path = original_sys_path
-
- added_includes = []
- for f in input_api.AffectedFiles():
- if not CppChecker.IsCppFile(f.LocalPath()):
- continue
-
- changed_lines = [line for line_num, line in f.ChangedContents()]
- added_includes.append([f.LocalPath(), changed_lines])
-
- deps_checker = checkdeps.DepsChecker(input_api.PresubmitLocalPath())
-
- error_descriptions = []
- warning_descriptions = []
- for path, rule_type, rule_description in deps_checker.CheckAddedCppIncludes(
- added_includes):
- description_with_path = '%s\n %s' % (path, rule_description)
- if rule_type == Rule.DISALLOW:
- error_descriptions.append(description_with_path)
- else:
- warning_descriptions.append(description_with_path)
-
- results = []
- if error_descriptions:
- results.append(output_api.PresubmitError(
- 'You added one or more #includes that violate checkdeps rules.',
- error_descriptions))
- if warning_descriptions:
- results.append(output_api.PresubmitPromptOrNotify(
- 'You added one or more #includes of files that are temporarily\n'
- 'allowed but being removed. Can you avoid introducing the\n'
- '#include? See relevant DEPS file(s) for details and contacts.',
- warning_descriptions))
- return results
-
-
def CheckChangeOnUpload(input_api, output_api):
results = []
results += input_api.canned_checks.CheckPatchFormatted(input_api, output_api)
- results += _CheckUnwantedDependencies(input_api, output_api)
return results
-
-
-def CheckChangeOnCommit(input_api, output_api):
- return CheckChangeOnUpload(input_api, output_api)