| # 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 |
| |
| join = input_api.os_path.join |
| api_root = input_api.PresubmitLocalPath() |
| src_root = join(api_root, '..', '..', '..', '..') |
| try: |
| sys.path.append(join(src_root, 'extensions', 'common', 'api')) |
| from externs_checker import ExternsChecker |
| finally: |
| sys.path = original_sys_path |
| |
| externs_root = join(src_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() |
| } |
| |
| return ExternsChecker(input_api, output_api, api_pairs).RunChecks() |
| |
| |
| def CheckChangeOnUpload(input_api, output_api): |
| return _CheckExterns(input_api, output_api) |