diff options
author | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2020-10-12 14:27:29 +0200 |
---|---|---|
committer | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2020-10-13 09:35:20 +0000 |
commit | c30a6232df03e1efbd9f3b226777b07e087a1122 (patch) | |
tree | e992f45784689f373bcc38d1b79a239ebe17ee23 /chromium/extensions/common/api/externs_checker.py | |
parent | 7b5b123ac58f58ffde0f4f6e488bcd09aa4decd3 (diff) | |
download | qtwebengine-chromium-85-based.tar.gz |
BASELINE: Update Chromium to 85.0.4183.14085-based
Change-Id: Iaa42f4680837c57725b1344f108c0196741f6057
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
Diffstat (limited to 'chromium/extensions/common/api/externs_checker.py')
-rw-r--r-- | chromium/extensions/common/api/externs_checker.py | 30 |
1 files changed, 29 insertions, 1 deletions
diff --git a/chromium/extensions/common/api/externs_checker.py b/chromium/extensions/common/api/externs_checker.py index 74906bd4883..09a97bb108a 100644 --- a/chromium/extensions/common/api/externs_checker.py +++ b/chromium/extensions/common/api/externs_checker.py @@ -7,7 +7,10 @@ class ExternsChecker(object): src/ $ python tools/json_schema_compiler/compiler.py\ %s --root=. --generator=externs > %s""" - def __init__(self, input_api, output_api, api_pairs): + def __init__(self, input_api, output_api, api_pairs=None, api_root=None): + if api_pairs is None: + api_pairs = self.ParseApiFileList(input_api, api_root=api_root) + self._input_api = input_api self._output_api = output_api self._api_pairs = api_pairs @@ -16,6 +19,31 @@ class ExternsChecker(object): if not input_api.os_path.exists(path): raise OSError('Path Not Found: %s' % path) + @staticmethod + def ParseApiFileList(input_api, api_root=None): + """Extract the API pairs from the registered list.""" + if api_root is None: + api_root = input_api.PresubmitLocalPath() + externs_root = input_api.os_path.join( + input_api.change.RepositoryRoot(), 'third_party', 'closure_compiler', + 'externs') + + ret = {} + listing = input_api.os_path.join(api_root, 'generated_externs_list.txt') + for line in input_api.ReadFile(listing).splitlines(): + # Skip blank & comment lines. + if not line.split('#', 1)[0].strip(): + continue + + source = input_api.os_path.join(api_root, line) + api_name, ext = line.rsplit('.', 1) + assert ext == 'json' or ext == 'idl' + externs = input_api.os_path.join(externs_root, api_name + '.js') + ret[source] = externs + + assert ret + return ret + def RunChecks(self): bad_files = [] affected = [f.AbsoluteLocalPath() for f in |