OLD | NEW |
(Empty) | |
| 1 # Copyright 2017 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. |
| 4 |
| 5 |
| 6 def _CompileDevtoolsFrontend(input_api, output_api): |
| 7 # Need to get all affected files from change (not just within this subtree) |
| 8 local_paths = [f.AbsoluteLocalPath() for f in input_api.change.AffectedFiles
()] |
| 9 devtools = input_api.os_path.realpath( |
| 10 input_api.os_path.join(input_api.PresubmitLocalPath(), '..', '..', 'devt
ools')) |
| 11 |
| 12 # If a devtools file is changed, the PRESUBMIT hook in Source/devtools |
| 13 # will run closure compiler |
| 14 if (any("browser_protocol.json" in path for path in local_paths) and |
| 15 all(devtools not in path for path in local_paths)): |
| 16 compile_path = input_api.os_path.join( |
| 17 input_api.PresubmitLocalPath(), "..", "..", "devtools", "scripts", "
compile_frontend.py") |
| 18 out, _ = input_api.subprocess.Popen( |
| 19 [input_api.python_executable, compile_path], stdout=input_api.subpro
cess.PIPE, |
| 20 stderr=input_api.subprocess.STDOUT).communicate() |
| 21 if "ERROR" in out or "WARNING" in out: |
| 22 return [output_api.PresubmitError(out)] |
| 23 if "NOTE" in out: |
| 24 return [output_api.PresubmitPromptWarning(out)] |
| 25 return [] |
| 26 |
| 27 |
| 28 def CheckChangeOnUpload(input_api, output_api): |
| 29 results = [] |
| 30 results.extend(_CompileDevtoolsFrontend(input_api, output_api)) |
| 31 return results |
| 32 |
| 33 |
| 34 def CheckChangeOnCommit(input_api, output_api): |
| 35 return [] |
OLD | NEW |