[M85 Dev][EFL] Fix errors to generate ninja files
[platform/framework/web/chromium-efl.git] / chrome / browser / PRESUBMIT.py
1 # Copyright 2014 The Chromium Authors. All rights reserved.
2 # Use of this source code is governed by a BSD-style license that can be
3 # found in the LICENSE file.
4
5 """Presubmit script for Chromium browser code."""
6
7 import re
8
9 def _RunHistogramChecks(input_api, output_api, histogram_name):
10   try:
11     # Setup sys.path so that we can call histograms code.
12     import sys
13     original_sys_path = sys.path
14     sys.path = sys.path + [input_api.os_path.join(
15         input_api.change.RepositoryRoot(),
16         'tools', 'metrics', 'histograms')]
17
18     results = []
19
20     import presubmit_bad_message_reasons
21     results.extend(presubmit_bad_message_reasons.PrecheckBadMessage(input_api,
22         output_api, histogram_name))
23
24     return results
25   except:
26     return [output_api.PresubmitError('Could not verify histogram!')]
27   finally:
28     sys.path = original_sys_path
29
30 def _CheckUnwantedDependencies(input_api, output_api):
31   problems = []
32   for f in input_api.AffectedFiles():
33     if not f.LocalPath().endswith('DEPS'):
34       continue
35
36     for line_num, line in f.ChangedContents():
37       if not line.strip().startswith('#'):
38         m = re.search(r".*\/blink\/public\/web.*", line)
39         if m:
40           problems.append(m.group(0))
41
42   if not problems:
43     return []
44   return [output_api.PresubmitPromptWarning(
45       'chrome/browser cannot depend on blink/public/web interfaces. ' +
46       'Use blink/public/common instead.',
47       items=problems)]
48
49 def _CommonChecks(input_api, output_api):
50   """Checks common to both upload and commit."""
51   results = []
52   results.extend(_CheckUnwantedDependencies(input_api, output_api))
53   results.extend(_RunHistogramChecks(input_api, output_api,
54                  "BadMessageReasonChrome"))
55   return results
56
57
58 def CheckChangeOnUpload(input_api, output_api):
59   return _CommonChecks(input_api, output_api)
60
61
62 def CheckChangeOnCommit(input_api, output_api):
63   return _CommonChecks(input_api, output_api)