Fix DependencyManager bug.
[chromium-blink-merge.git] / testing / scripts / get_compile_targets.py
blob16cff951648374847b8c0278ab83e9bc01e4c492
1 #!/usr/bin/env python
2 # Copyright 2014 The Chromium Authors. All rights reserved.
3 # Use of this source code is governed by a BSD-style license that can be
4 # found in the LICENSE file.
6 import argparse
7 import json
8 import os
9 import sys
11 import common
14 def main(argv):
15 parser = argparse.ArgumentParser()
16 parser.add_argument('--output', required=True)
17 parser.add_argument('args', nargs=argparse.REMAINDER)
19 args = parser.parse_args(argv)
21 passthrough_args = args.args
22 if passthrough_args[0] == '--':
23 passthrough_args = passthrough_args[1:]
25 results = {}
27 for filename in os.listdir(common.SCRIPT_DIR):
28 if not filename.endswith('.py'):
29 continue
30 if filename in ('common.py', 'get_compile_targets.py'):
31 continue
33 with common.temporary_file() as tempfile_path:
34 rc = common.run_command(
35 [sys.executable, os.path.join(common.SCRIPT_DIR, filename)] +
36 passthrough_args +
38 'compile_targets',
39 '--output', tempfile_path
42 if rc != 0:
43 return rc
45 with open(tempfile_path) as f:
46 results[filename] = json.load(f)
48 with open(args.output, 'w') as f:
49 json.dump(results, f)
51 return 0
54 if __name__ == '__main__':
55 sys.exit(main(sys.argv[1:]))