1*6777b538SAndroid Build Coastguard Worker#!/usr/bin/env python 2*6777b538SAndroid Build Coastguard Worker# Copyright 2017 The Chromium Authors 3*6777b538SAndroid Build Coastguard Worker# Use of this source code is governed by a BSD-style license that can be 4*6777b538SAndroid Build Coastguard Worker# found in the LICENSE file. 5*6777b538SAndroid Build Coastguard Worker 6*6777b538SAndroid Build Coastguard Workerimport json 7*6777b538SAndroid Build Coastguard Workerimport os 8*6777b538SAndroid Build Coastguard Workerimport sys 9*6777b538SAndroid Build Coastguard Worker 10*6777b538SAndroid Build Coastguard Worker# Add src/testing/ into sys.path for importing common without pylint errors. 11*6777b538SAndroid Build Coastguard Workersys.path.append( 12*6777b538SAndroid Build Coastguard Worker os.path.abspath(os.path.join(os.path.dirname(__file__), os.path.pardir))) 13*6777b538SAndroid Build Coastguard Workerfrom scripts import common 14*6777b538SAndroid Build Coastguard Worker 15*6777b538SAndroid Build Coastguard Worker 16*6777b538SAndroid Build Coastguard Workerdef main_run(args): 17*6777b538SAndroid Build Coastguard Worker with common.temporary_file() as tempfile_path: 18*6777b538SAndroid Build Coastguard Worker rc = common.run_command([ 19*6777b538SAndroid Build Coastguard Worker sys.executable, 20*6777b538SAndroid Build Coastguard Worker os.path.join(common.SRC_DIR, 'build', 'check_gn_headers.py'), 21*6777b538SAndroid Build Coastguard Worker '--out-dir', 22*6777b538SAndroid Build Coastguard Worker os.path.join(args.paths['checkout'], 'out', args.build_config_fs), 23*6777b538SAndroid Build Coastguard Worker '--whitelist', 24*6777b538SAndroid Build Coastguard Worker os.path.join(common.SRC_DIR, 'build', 'check_gn_headers_whitelist.txt'), 25*6777b538SAndroid Build Coastguard Worker '--json', tempfile_path, 26*6777b538SAndroid Build Coastguard Worker '--verbose', 27*6777b538SAndroid Build Coastguard Worker ], cwd=common.SRC_DIR) 28*6777b538SAndroid Build Coastguard Worker 29*6777b538SAndroid Build Coastguard Worker with open(tempfile_path) as f: 30*6777b538SAndroid Build Coastguard Worker failures = json.load(f) 31*6777b538SAndroid Build Coastguard Worker 32*6777b538SAndroid Build Coastguard Worker json.dump({ 33*6777b538SAndroid Build Coastguard Worker 'valid': True, 34*6777b538SAndroid Build Coastguard Worker 'failures': failures, 35*6777b538SAndroid Build Coastguard Worker }, args.output) 36*6777b538SAndroid Build Coastguard Worker 37*6777b538SAndroid Build Coastguard Worker return rc 38*6777b538SAndroid Build Coastguard Worker 39*6777b538SAndroid Build Coastguard Worker 40*6777b538SAndroid Build Coastguard Workerdef main_compile_targets(args): 41*6777b538SAndroid Build Coastguard Worker json.dump([], args.output) 42*6777b538SAndroid Build Coastguard Worker 43*6777b538SAndroid Build Coastguard Worker 44*6777b538SAndroid Build Coastguard Workerif __name__ == '__main__': 45*6777b538SAndroid Build Coastguard Worker funcs = { 46*6777b538SAndroid Build Coastguard Worker 'run': main_run, 47*6777b538SAndroid Build Coastguard Worker 'compile_targets': main_compile_targets, 48*6777b538SAndroid Build Coastguard Worker } 49*6777b538SAndroid Build Coastguard Worker common.run_script(sys.argv[1:], funcs) 50