#!/usr/bin/env vpython3 # -*- 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))