blob: 03110b8924cac1a2d9271e9b53d85c2394ff265b [file] [log] [blame]
#!/usr/bin/env vpython
# -*- coding: UTF-8 -*-
#
# Copyright 2021 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.
"""
Asserts that expected and generated list of GRD files is equal.
"""
import sys
import json
def main(argv):
expected_grd_sources = open(argv[1], 'r').read()
generated_grd_sources = open(argv[2], 'r').read()
stamp_file = argv[3]
expected_json = json.loads(expected_grd_sources)
generated_json = json.loads(generated_grd_sources)
expected_json.sort()
generated_json.sort()
return_code = 0
for expected_file in expected_json:
if expected_file not in generated_json:
print(
"File " + expected_file +
" is not generated by any action in front_end." +
" Either remove it from config/gni/devtools_grd_files.gni" +
" or add the missing file to an action" +
" (for example a devtools_module or devtools_entrypoint definition).\n"
)
return_code = 1
for generated_file in generated_json:
if generated_file not in expected_json:
print(
"File " + generated_file +
" is not listed in config/gni/devtools_grd_files.gni." +
" Either add the file to the grd_files_release_sources/grd_files_debug_sources,"
+ " or remove the generated file from an action.\n")
return_code = 1
with open(stamp_file, 'w', encoding="utf8") as fp:
fp.write("")
return return_code
if __name__ == '__main__':
sys.exit(main(sys.argv))