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.
5 """Presubmit script for mojo
7 See http://dev.chromium.org/developers/how-tos/depottools/presubmit-scripts
8 for more details about the presubmit API built into depot_tools.
13 def CheckChangeOnUpload(input_api
, output_api
):
14 # Additional python module paths (we're in src/mojo/); not everyone needs
15 # them, but it's easiest to add them to everyone's path.
17 third_party_path
= os
.path
.join(
18 input_api
.PresubmitLocalPath(), "..", "third_party")
19 # For the bindings generator:
20 mojo_public_bindings_pylib_path
= os
.path
.join(
21 input_api
.PresubmitLocalPath(), "public", "tools", "bindings", "pylib")
22 # For the python bindings:
23 mojo_python_bindings_path
= os
.path
.join(
24 input_api
.PresubmitLocalPath(), "public", "python")
25 # For the python bindings tests:
26 mojo_python_bindings_tests_path
= os
.path
.join(
27 input_api
.PresubmitLocalPath(), "python", "tests")
28 # TODO(vtl): Don't lint these files until the (many) problems are fixed
29 # (possibly by deleting/rewriting some files).
30 temporary_black_list
= input_api
.DEFAULT_BLACK_LIST
+ \
31 (r
".*\bpublic[\\\/]tools[\\\/]bindings[\\\/]pylib[\\\/]mojom[\\\/]"
32 r
"generate[\\\/].+\.py$",
33 r
".*\bpublic[\\\/]tools[\\\/]bindings[\\\/]generators[\\\/].+\.py$",
34 r
".*\bspy[\\\/]ui[\\\/].+\.py$",
35 r
".*\btools[\\\/]pylib[\\\/]transitive_hash\.py$",
36 r
".*\btools[\\\/]test_runner\.py$")
39 pylint_extra_paths
= [
41 mojo_public_bindings_pylib_path
,
42 mojo_python_bindings_path
,
43 mojo_python_bindings_tests_path
,
45 results
+= input_api
.canned_checks
.RunPylint(
46 input_api
, output_api
, extra_paths_list
=pylint_extra_paths
,
47 black_list
=temporary_black_list
)