Chromium Code Reviews| Index: chrome/common/extensions/api/PRESUBMIT.py |
| diff --git a/chrome/common/extensions/api/PRESUBMIT.py b/chrome/common/extensions/api/PRESUBMIT.py |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..9f3cbf2b16236f5b668967b8846b450f65d165d9 |
| --- /dev/null |
| +++ b/chrome/common/extensions/api/PRESUBMIT.py |
| @@ -0,0 +1,54 @@ |
| +# Copyright 2016 The Chromium Authors. All rights reserved. |
| +# Use of this source code is governed by a BSD-style license that can be |
| +# found in the LICENSE file. |
| + |
| +"""Chromium presubmit script for src/extensions/common. |
| + |
| +See http://dev.chromium.org/developers/how-tos/depottools/presubmit-scripts |
| +for more details on the presubmit API built into depot_tools. |
| +""" |
| + |
| +import sys |
| + |
| + |
| +def _CheckExterns(input_api, output_api): |
| + original_sys_path = sys.path |
| + |
|
Dan Beam
2016/03/03 00:24:20
join = input_api.os_path.join
api_root = input_api
Devlin
2016/03/07 19:49:29
I like it. Done.
|
| + try: |
| + sys.path.append( |
| + input_api.os_path.join( |
| + input_api.PresubmitLocalPath(), '..', '..', '..', '..', |
| + 'extensions', 'common', 'api')) |
| + from externs_checker import ExternsChecker |
| + finally: |
| + sys.path = original_sys_path |
| + |
| + api_root = input_api.PresubmitLocalPath() |
| + join = input_api.os_path.join |
| + externs_root = join(api_root, '..', '..', '..', '..', 'third_party', |
| + 'closure_compiler', 'externs') |
| + |
| + api_pair_names = { |
| + 'autofill_private.idl': 'autofill_private.js', |
| + 'developer_private.idl': 'developer_private.js', |
| + 'bookmark_manager_private.json': 'bookmark_manager_private.js', |
| + 'command_line_private.json': 'command_line_private.js', |
| + 'file_manager_private.idl': 'file_manager_private.js', |
| + 'language_settings_private.idl': 'language_settings_private.js', |
| + 'metrics_private.json': 'metrics_private.js', |
| + 'passwords_private.idl': 'passwords_private.js', |
| + 'system_private.json': 'system_private.js', |
| + 'users_private.idl': 'users_private.js', |
| + # TODO(rdevlin.cronin): Add more! |
| + } |
| + normpath = input_api.os_path.normpath |
| + api_pairs = { |
| + normpath(join(api_root, k)): |
| + normpath(join(externs_root, v)) for k, v in api_pair_names.items() |
|
Dan Beam
2016/03/03 00:24:20
mind == blown
Devlin
2016/03/07 19:49:29
Yay for python!
|
| + } |
| + |
| + return ExternsChecker(input_api, output_api, api_pairs).RunChecks() |
| + |
| + |
| +def CheckChangeOnUpload(input_api, output_api): |
| + return _CheckExterns(input_api, output_api) |