| #!/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)) |