Reland of Adding PRESUBMIT check on google::protobuf (patchset #1 id:1 of https://codereview.webrtc.org/2791583002/ )

Reason for revert:
This should be landed after https://codereview.webrtc.org/2791963003.

Original issue's description:
> Revert of Adding PRESUBMIT check on google::protobuf (patchset #2 id:20001 of https://codereview.webrtc.org/2753823003/ )
>
> Reason for revert:
> We have to revert https://codereview.webrtc.org/2747863003 and this CL depends on it.
>
> Original issue's description:
> > Adding PRESUBMIT check on google::protobuf
> >
> > The goal is to avoid direct usage of google::protobuf.
> >
> > It should only be used with a 'using' directive in the header file:
> > //webrtc/base/protobuf_utils.h.
> >
> > BUG=webrtc:7340
> > NOTRY=True
> >
> > Review-Url: https://codereview.webrtc.org/2753823003
> > Cr-Commit-Position: refs/heads/master@{#17467}
> > Committed: dd27055cb7
>
> TBR=kjellander@webrtc.org
> # Not skipping CQ checks because original CL landed more than 1 days ago.
> BUG=webrtc:7340
>
> Review-Url: https://codereview.webrtc.org/2791583002
> Cr-Commit-Position: refs/heads/master@{#17481}
> Committed: 515dff40b7

TBR=kjellander@webrtc.org
# Not skipping CQ checks because original CL landed more than 1 days ago.
BUG=webrtc:7340

Review-Url: https://codereview.webrtc.org/2792103002
Cr-Commit-Position: refs/heads/master@{#17588}
This commit is contained in:
mbonadei 2017-04-07 05:38:01 -07:00 committed by Commit bot
parent 423f106e8c
commit 38415b2d8e

View file

@ -488,6 +488,26 @@ def _RunPythonTests(input_api, output_api):
return input_api.RunTests(tests, parallel=True)
def _CheckUsageOfGoogleProtobufNamespace(input_api, output_api):
"""Checks that the namespace google::protobuf has not been used."""
files = []
pattern = input_api.re.compile(r'google::protobuf')
proto_utils_path = os.path.join('webrtc', 'base', 'protobuf_utils.h')
for f in input_api.AffectedSourceFiles(input_api.FilterSourceFile):
if f.LocalPath() in [proto_utils_path, 'PRESUBMIT.py']:
continue
contents = input_api.ReadFile(f)
if pattern.search(contents):
files.append(f)
if files:
return [output_api.PresubmitError(
'Please avoid to use namespace `google::protobuf` directly.\n'
'Add a using directive in `%s` and include that header instead.'
% proto_utils_path, files)]
return []
def _CommonChecks(input_api, output_api):
"""Checks common to both upload and commit."""
results = []
@ -556,6 +576,7 @@ def _CommonChecks(input_api, output_api):
results.extend(_CheckUnwantedDependencies(input_api, output_api))
results.extend(_CheckJSONParseErrors(input_api, output_api))
results.extend(_RunPythonTests(input_api, output_api))
results.extend(_CheckUsageOfGoogleProtobufNamespace(input_api, output_api))
return results