OLD | NEW |
1 # Copyright 2014 The Chromium Authors. All rights reserved. | 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 | 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 """Presubmit script for Chromium browser code. | 5 """Presubmit script for Chromium browser code. |
6 | 6 |
7 This script currently only checks HTML/CSS/JS files in resources/. | 7 This script currently only checks HTML/CSS/JS files in resources/. |
8 | 8 |
9 See http://dev.chromium.org/developers/how-tos/depottools/presubmit-scripts | 9 See http://dev.chromium.org/developers/how-tos/depottools/presubmit-scripts |
10 for more details about the presubmit API built into gcl/git cl, and see | 10 for more details about the presubmit API built into gcl/git cl, and see |
(...skipping 17 matching lines...) Expand all Loading... |
28 path = input_api.os_path | 28 path = input_api.os_path |
29 cwd = input_api.PresubmitLocalPath() | 29 cwd = input_api.PresubmitLocalPath() |
30 resources = path.join(cwd, 'resources') | 30 resources = path.join(cwd, 'resources') |
31 webui = path.join(cwd, 'ui', 'webui') | 31 webui = path.join(cwd, 'ui', 'webui') |
32 | 32 |
33 affected_files = (f.AbsoluteLocalPath() for f in input_api.AffectedFiles()) | 33 affected_files = (f.AbsoluteLocalPath() for f in input_api.AffectedFiles()) |
34 would_affect_tests = ( | 34 would_affect_tests = ( |
35 path.join(cwd, 'PRESUBMIT.py'), | 35 path.join(cwd, 'PRESUBMIT.py'), |
36 path.join(cwd, 'test_presubmit.py'), | 36 path.join(cwd, 'test_presubmit.py'), |
37 path.join(cwd, 'web_dev_style', 'css_checker.py'), | 37 path.join(cwd, 'web_dev_style', 'css_checker.py'), |
| 38 path.join(cwd, 'web_dev_style', 'html_checker.py'), |
38 path.join(cwd, 'web_dev_style', 'js_checker.py'), | 39 path.join(cwd, 'web_dev_style', 'js_checker.py'), |
39 ) | 40 ) |
40 if any(f for f in affected_files if f in would_affect_tests): | 41 if any(f for f in affected_files if f in would_affect_tests): |
41 tests = [path.join(cwd, 'test_presubmit.py')] | 42 tests = [path.join(cwd, 'test_presubmit.py')] |
42 results.extend( | 43 results.extend( |
43 input_api.canned_checks.RunUnitTests(input_api, output_api, tests)) | 44 input_api.canned_checks.RunUnitTests(input_api, output_api, tests)) |
44 | 45 |
45 import sys | 46 import sys |
46 old_path = sys.path | 47 old_path = sys.path |
47 | 48 |
48 try: | 49 try: |
49 sys.path = [cwd] + old_path | 50 sys.path = [cwd] + old_path |
50 from web_dev_style import resource_checker, css_checker, js_checker | 51 from web_dev_style import (resource_checker, css_checker, html_checker, |
| 52 js_checker) |
51 | 53 |
52 search_dirs = (resources, webui) | 54 search_dirs = (resources, webui) |
53 def _html_css_js_resource(p): | 55 def _html_css_js_resource(p): |
54 return p.endswith(('.html', '.css', '.js')) and p.startswith(search_dirs) | 56 return p.endswith(('.html', '.css', '.js')) and p.startswith(search_dirs) |
55 | 57 |
56 BLACKLIST = ['chrome/browser/resources/pdf/index.html', | 58 BLACKLIST = ['chrome/browser/resources/pdf/index.html', |
57 'chrome/browser/resources/pdf/index.js'] | 59 'chrome/browser/resources/pdf/index.js'] |
58 def is_resource(maybe_resource): | 60 def is_resource(maybe_resource): |
59 return (maybe_resource.LocalPath() not in BLACKLIST and | 61 return (maybe_resource.LocalPath() not in BLACKLIST and |
60 _html_css_js_resource(maybe_resource.AbsoluteLocalPath())) | 62 _html_css_js_resource(maybe_resource.AbsoluteLocalPath())) |
61 | 63 |
62 results.extend(resource_checker.ResourceChecker( | 64 results.extend(resource_checker.ResourceChecker( |
63 input_api, output_api, file_filter=is_resource).RunChecks()) | 65 input_api, output_api, file_filter=is_resource).RunChecks()) |
64 results.extend(css_checker.CSSChecker( | 66 results.extend(css_checker.CSSChecker( |
65 input_api, output_api, file_filter=is_resource).RunChecks()) | 67 input_api, output_api, file_filter=is_resource).RunChecks()) |
| 68 results.extend(html_checker.HtmlChecker( |
| 69 input_api, output_api, file_filter=is_resource).RunChecks()) |
66 results.extend(js_checker.JSChecker( | 70 results.extend(js_checker.JSChecker( |
67 input_api, output_api, file_filter=is_resource).RunChecks()) | 71 input_api, output_api, file_filter=is_resource).RunChecks()) |
68 finally: | 72 finally: |
69 sys.path = old_path | 73 sys.path = old_path |
70 | 74 |
71 return results | 75 return results |
OLD | NEW |