|  | #!/usr/bin/env python | 
|  | # Copyright 2017 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. | 
|  |  | 
|  | import json | 
|  | import os | 
|  | import sys | 
|  |  | 
|  |  | 
|  | import common | 
|  |  | 
|  |  | 
|  | def main_run(args): | 
|  | with common.temporary_file() as tempfile_path: | 
|  | rc = common.run_command([ | 
|  | sys.executable, | 
|  | os.path.join(common.SRC_DIR, 'build', 'check_gn_headers.py'), | 
|  | '--out-dir', | 
|  | os.path.join(args.paths['checkout'], 'out', args.build_config_fs), | 
|  | '--whitelist', | 
|  | os.path.join(common.SRC_DIR, 'build', 'check_gn_headers_whitelist.txt'), | 
|  | '--json', tempfile_path, | 
|  | '--verbose', | 
|  | ], cwd=common.SRC_DIR) | 
|  |  | 
|  | with open(tempfile_path) as f: | 
|  | failures = json.load(f) | 
|  |  | 
|  | json.dump({ | 
|  | 'valid': True, | 
|  | 'failures': failures, | 
|  | }, args.output) | 
|  |  | 
|  | return rc | 
|  |  | 
|  |  | 
|  | def main_compile_targets(args): | 
|  | json.dump([], args.output) | 
|  |  | 
|  |  | 
|  | if __name__ == '__main__': | 
|  | funcs = { | 
|  | 'run': main_run, | 
|  | 'compile_targets': main_compile_targets, | 
|  | } | 
|  | common.run_script(sys.argv[1:], funcs) |