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

Side by Side Diff: components/cronet/PRESUBMIT.py

Issue 2320413002: [Cronet] Add presubmit check to verify Cronet package division. (Closed)
Patch Set: don't check for imports Created 4 years, 3 months 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 | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 # Copyright 2015 The Chromium Authors. All rights reserved. 1 # Copyright 2015 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 """Top-level presubmit script for src/components/cronet. 5 """Top-level presubmit script for src/components/cronet.
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
(...skipping 13 matching lines...) Expand all
24 input_api.os_path.join(chromium_src_dir, 'build', 'android', 'gyp', 'util'), 24 input_api.os_path.join(chromium_src_dir, 'build', 'android', 'gyp', 'util'),
25 input_api.os_path.join(chromium_src_dir, 'net', 'tools', 'net_docs'), 25 input_api.os_path.join(chromium_src_dir, 'net', 'tools', 'net_docs'),
26 input_api.os_path.join(chromium_src_dir, 'tools'), 26 input_api.os_path.join(chromium_src_dir, 'tools'),
27 input_api.os_path.join(chromium_src_dir, 'third_party'), 27 input_api.os_path.join(chromium_src_dir, 'third_party'),
28 input_api.os_path.join(chromium_src_dir, 28 input_api.os_path.join(chromium_src_dir,
29 'third_party', 'catapult', 'telemetry'), 29 'third_party', 'catapult', 'telemetry'),
30 input_api.os_path.join(chromium_src_dir, 30 input_api.os_path.join(chromium_src_dir,
31 'third_party', 'catapult', 'devil'), 31 'third_party', 'catapult', 'devil'),
32 ] 32 ]
33 33
34 def _PackageChecks(input_api, output_api):
35 """Verify API classes are in org.chromium.net package, and implementation
36 classes are not in org.chromium.net package."""
37 api_file_pattern = input_api.re.compile(
38 r'^components/cronet/android/api/.*\.(java|template)$')
39 impl_file_pattern = input_api.re.compile(
40 r'^components/cronet/android/java/.*\.(java|template)$')
41 api_package_pattern = input_api.re.compile(r'^package (?!org.chromium.net;)')
42 impl_package_pattern = input_api.re.compile(r'^package org.chromium.net;')
43
44 source_filter = lambda path: input_api.FilterSourceFile(path,
45 white_list=[r'^components/cronet/android/.*\.(java|template)$'])
46
47 problems = []
48 for f in input_api.AffectedSourceFiles(source_filter):
49 local_path = f.LocalPath()
50 for line_number, line in f.ChangedContents():
51 if (api_file_pattern.search(local_path)):
52 if (api_package_pattern.search(line)):
53 problems.append(
54 '%s:%d\n %s' % (local_path, line_number, line.strip()))
55 elif (impl_file_pattern.search(local_path)):
56 if (impl_package_pattern.search(line)):
57 problems.append(
58 '%s:%d\n %s' % (local_path, line_number, line.strip()))
59
60 if problems:
61 return [output_api.PresubmitError(
62 'API classes must be in org.chromium.net package, and implementation\n'
63 'classes must not be in org.chromium.net package.',
64 problems)]
65 else:
66 return []
67
34 def CheckChangeOnUpload(input_api, output_api): 68 def CheckChangeOnUpload(input_api, output_api):
35 results = [] 69 results = []
36 results.extend(_PyLintChecks(input_api, output_api)) 70 results.extend(_PyLintChecks(input_api, output_api))
37 results.extend( 71 results.extend(
38 input_api.canned_checks.CheckPatchFormatted(input_api, output_api)) 72 input_api.canned_checks.CheckPatchFormatted(input_api, output_api))
73 results.extend(_PackageChecks(input_api, output_api))
39 return results 74 return results
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698