| Index: components/cronet/PRESUBMIT.py
|
| diff --git a/components/cronet/PRESUBMIT.py b/components/cronet/PRESUBMIT.py
|
| index 57cb261d6034d22d604a1c63ed3a9570cf1bec7a..327e334c81a08205e8f37ee9e471bd9c7c6f7056 100644
|
| --- a/components/cronet/PRESUBMIT.py
|
| +++ b/components/cronet/PRESUBMIT.py
|
| @@ -31,9 +31,44 @@ def _GetPathsToPrepend(input_api):
|
| 'third_party', 'catapult', 'devil'),
|
| ]
|
|
|
| +def _PackageChecks(input_api, output_api):
|
| + """Verify API classes are in org.chromium.net package, and implementation
|
| + classes are not in org.chromium.net package."""
|
| + api_file_pattern = input_api.re.compile(
|
| + r'^components/cronet/android/api/.*\.(java|template)$')
|
| + impl_file_pattern = input_api.re.compile(
|
| + r'^components/cronet/android/java/.*\.(java|template)$')
|
| + api_package_pattern = input_api.re.compile(r'^package (?!org.chromium.net;)')
|
| + impl_package_pattern = input_api.re.compile(r'^package org.chromium.net;')
|
| +
|
| + source_filter = lambda path: input_api.FilterSourceFile(path,
|
| + white_list=[r'^components/cronet/android/.*\.(java|template)$'])
|
| +
|
| + problems = []
|
| + for f in input_api.AffectedSourceFiles(source_filter):
|
| + local_path = f.LocalPath()
|
| + for line_number, line in f.ChangedContents():
|
| + if (api_file_pattern.search(local_path)):
|
| + if (api_package_pattern.search(line)):
|
| + problems.append(
|
| + '%s:%d\n %s' % (local_path, line_number, line.strip()))
|
| + elif (impl_file_pattern.search(local_path)):
|
| + if (impl_package_pattern.search(line)):
|
| + problems.append(
|
| + '%s:%d\n %s' % (local_path, line_number, line.strip()))
|
| +
|
| + if problems:
|
| + return [output_api.PresubmitError(
|
| + 'API classes must be in org.chromium.net package, and implementation\n'
|
| + 'classes must not be in org.chromium.net package.',
|
| + problems)]
|
| + else:
|
| + return []
|
| +
|
| def CheckChangeOnUpload(input_api, output_api):
|
| results = []
|
| results.extend(_PyLintChecks(input_api, output_api))
|
| results.extend(
|
| input_api.canned_checks.CheckPatchFormatted(input_api, output_api))
|
| + results.extend(_PackageChecks(input_api, output_api))
|
| return results
|
|
|