OLD | NEW |
| (Empty) |
1 #!/usr/bin/env python | |
2 # | |
3 # Copyright 2014 The Chromium Authors. All rights reserved. | |
4 # Use of this source code is governed by a BSD-style license that can be | |
5 # found in the LICENSE file. | |
6 | |
7 """Invokes Android's aidl | |
8 """ | |
9 | |
10 import optparse | |
11 import os | |
12 import sys | |
13 | |
14 from util import build_utils | |
15 | |
16 | |
17 def main(argv): | |
18 option_parser = optparse.OptionParser() | |
19 build_utils.AddDepfileOption(option_parser) | |
20 option_parser.add_option('--aidl-path', help='Path to the aidl binary.') | |
21 option_parser.add_option('--imports', help='Files to import.') | |
22 option_parser.add_option('--includes', | |
23 help='Directories to add as import search paths.') | |
24 option_parser.add_option('--srcjar', help='Path for srcjar output.') | |
25 options, args = option_parser.parse_args(argv[1:]) | |
26 | |
27 with build_utils.TempDir() as temp_dir: | |
28 for f in args: | |
29 classname = os.path.splitext(os.path.basename(f))[0] | |
30 output = os.path.join(temp_dir, classname + '.java') | |
31 aidl_cmd = [options.aidl_path] | |
32 aidl_cmd += [ | |
33 '-p' + s for s in build_utils.ParseGypList(options.imports) | |
34 ] | |
35 if options.includes is not None: | |
36 aidl_cmd += [ | |
37 '-I' + s for s in build_utils.ParseGypList(options.includes) | |
38 ] | |
39 aidl_cmd += [ | |
40 f, | |
41 output | |
42 ] | |
43 build_utils.CheckOutput(aidl_cmd) | |
44 | |
45 build_utils.ZipDir(options.srcjar, temp_dir) | |
46 | |
47 if options.depfile: | |
48 build_utils.WriteDepfile( | |
49 options.depfile, | |
50 build_utils.GetPythonDependencies()) | |
51 | |
52 | |
53 if __name__ == '__main__': | |
54 sys.exit(main(sys.argv)) | |
OLD | NEW |