Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(892)

Side by Side Diff: mojo/PRESUBMIT.py

Issue 792843002: Refactor the python system_impl module. (Closed) Base URL: git@github.com:domokit/mojo.git@master
Patch Set: Created 6 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « no previous file | mojo/PRESUBMIT_test.py » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 # Copyright 2014 The Chromium Authors. All rights reserved. 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 2 # Use of this source code is governed by a BSD-style license that can be
3 # found in the LICENSE file. 3 # found in the LICENSE file.
4 4
5 """Presubmit script for mojo 5 """Presubmit script for mojo
6 6
7 See http://dev.chromium.org/developers/how-tos/depottools/presubmit-scripts 7 See http://dev.chromium.org/developers/how-tos/depottools/presubmit-scripts
8 for more details about the presubmit API built into depot_tools. 8 for more details about the presubmit API built into depot_tools.
9 """ 9 """
10 10
11 import os.path 11 import os.path
12 import re 12 import re
13 13
14 _SDK_WHITELISTED_EXTERNAL_PATHS = [ 14 _SDK_WHITELISTED_EXTERNAL_PATHS = [
15 "//testing/gtest", 15 "//testing/gtest",
16 "//third_party/cython", 16 "//third_party/cython",
17 "//third_party/khronos", 17 "//third_party/khronos",
18 ] 18 ]
19 19
20 _PACKAGE_PATH_PREFIXES = {"SDK": "mojo/public/", 20 _PACKAGE_PATH_PREFIXES = {"SDK": "mojo/public/",
21 "EDK": "mojo/edk/"} 21 "EDK": "mojo/edk/"}
22 22
23 _PACKAGE_SOURCE_SET_TYPES = {"SDK": "mojo_sdk_source_set", 23 # TODO(etiennej): python_binary_source_set added due to crbug.com/443147
24 "EDK": "mojo_edk_source_set"} 24 _PACKAGE_SOURCE_SET_TYPES = {"SDK": ["mojo_sdk_source_set",
25 "python_binary_source_set"],
26 "EDK": ["mojo_edk_source_set"]}
25 27
26 _ILLEGAL_EXTERNAL_PATH_WARNING_MESSAGE = \ 28 _ILLEGAL_EXTERNAL_PATH_WARNING_MESSAGE = \
27 "Found disallowed external paths within SDK buildfiles." 29 "Found disallowed external paths within SDK buildfiles."
28 30
29 _ILLEGAL_EDK_ABSOLUTE_PATH_WARNING_MESSAGE = \ 31 _ILLEGAL_EDK_ABSOLUTE_PATH_WARNING_MESSAGE = \
30 "Found references to the EDK via absolute paths within EDK buildfiles.", 32 "Found references to the EDK via absolute paths within EDK buildfiles.",
31 33
32 _ILLEGAL_SDK_ABSOLUTE_PATH_WARNING_MESSAGE_TEMPLATE = \ 34 _ILLEGAL_SDK_ABSOLUTE_PATH_WARNING_MESSAGE_TEMPLATE = \
33 "Found references to the SDK via absolute paths within %s buildfiles." 35 "Found references to the SDK via absolute paths within %s buildfiles."
34 36
(...skipping 119 matching lines...) Expand 10 before | Expand all | Expand 10 after
154 assert package in _PACKAGE_SOURCE_SET_TYPES 156 assert package in _PACKAGE_SOURCE_SET_TYPES
155 required_source_set_type = _PACKAGE_SOURCE_SET_TYPES[package] 157 required_source_set_type = _PACKAGE_SOURCE_SET_TYPES[package]
156 158
157 problems = [] 159 problems = []
158 for f in _AffectedBuildFilesWithinPackage(input_api, package): 160 for f in _AffectedBuildFilesWithinPackage(input_api, package):
159 for line_num, line in f.ChangedContents(): 161 for line_num, line in f.ChangedContents():
160 m = re.search(r"[a-z_]*source_set\(", line) 162 m = re.search(r"[a-z_]*source_set\(", line)
161 if not m: 163 if not m:
162 continue 164 continue
163 source_set_type = m.group(0)[:-1] 165 source_set_type = m.group(0)[:-1]
164 if source_set_type == required_source_set_type: 166 if source_set_type in required_source_set_type:
165 continue 167 continue
166 problems.append(_IncorrectSourceSetTypeWarningItem(f.LocalPath(), 168 problems.append(_IncorrectSourceSetTypeWarningItem(f.LocalPath(),
167 line_num)) 169 line_num))
168 170
169 if not problems: 171 if not problems:
170 return [] 172 return []
171 return [output_api.PresubmitError( 173 return [output_api.PresubmitError(
172 _INCORRECT_SOURCE_SET_TYPE_WARNING_MESSAGES[package], 174 _INCORRECT_SOURCE_SET_TYPE_WARNING_MESSAGES[package],
173 items=problems)] 175 items=problems)]
174 176
(...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after
235 def CheckChangeOnUpload(input_api, output_api): 237 def CheckChangeOnUpload(input_api, output_api):
236 results = [] 238 results = []
237 results.extend(_CommonChecks(input_api, output_api)) 239 results.extend(_CommonChecks(input_api, output_api))
238 results.extend(_CheckChangePylintsClean(input_api, output_api)) 240 results.extend(_CheckChangePylintsClean(input_api, output_api))
239 return results 241 return results
240 242
241 def CheckChangeOnCommit(input_api, output_api): 243 def CheckChangeOnCommit(input_api, output_api):
242 results = [] 244 results = []
243 results.extend(_CommonChecks(input_api, output_api)) 245 results.extend(_CommonChecks(input_api, output_api))
244 return results 246 return results
OLDNEW
« no previous file with comments | « no previous file | mojo/PRESUBMIT_test.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698