OLD | NEW |
1 # Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 # Copyright (c) 2012 The Chromium Authors. All rights reserved. |
2 # Use of this source code is governed by a BSD-style license that can be | 2 # Use of this source code is governed by a BSD-style license that can be |
3 # found in the LICENSE file. | 3 # found in the LICENSE file. |
4 | 4 |
5 # This file is meant to be included into a target to provide a rule | 5 # This file is meant to be included into a target to provide a rule |
6 # to build Java aidl files in a consistent manner. | 6 # to build Java aidl files in a consistent manner. |
7 # | 7 # |
8 # To use this, create a gyp target with the following form: | 8 # To use this, create a gyp target with the following form: |
9 # { | 9 # { |
10 # 'target_name': 'aidl_aidl-file-name', | 10 # 'target_name': 'aidl_aidl-file-name', |
11 # 'type': 'none', | 11 # 'type': 'none', |
12 # 'variables': { | 12 # 'variables': { |
| 13 # 'package_name': <name-of-package> |
13 # 'aidl_interface_file': '<interface-path>/<interface-file>.aidl', | 14 # 'aidl_interface_file': '<interface-path>/<interface-file>.aidl', |
14 # }, | 15 # }, |
15 # 'sources': { | 16 # 'sources': { |
16 # '<input-path1>/<input-file1>.aidl', | 17 # '<input-path1>/<input-file1>.aidl', |
17 # '<input-path2>/<input-file2>.aidl', | 18 # '<input-path2>/<input-file2>.aidl', |
18 # ... | 19 # ... |
19 # }, | 20 # }, |
20 # 'includes': ['<path-to-this-file>/java_aidl.gypi'], | 21 # 'includes': ['<path-to-this-file>/java_aidl.gypi'], |
21 # } | 22 # } |
22 # | 23 # |
23 # | 24 # |
24 # The generated java files will be: | 25 # The generated java files will be: |
25 # <(PRODUCT_DIR)/lib.java/<input-file1>.java | 26 # <(PRODUCT_DIR)/lib.java/<input-file1>.java |
26 # <(PRODUCT_DIR)/lib.java/<input-file2>.java | 27 # <(PRODUCT_DIR)/lib.java/<input-file2>.java |
27 # ... | 28 # ... |
| 29 # |
| 30 # TODO(cjhopman): dependents need to rebuild when this target's inputs have chan
ged. |
28 | 31 |
29 { | 32 { |
| 33 'direct_dependent_settings': { |
| 34 'variables': { |
| 35 'additional_src_dirs': ['<(SHARED_INTERMEDIATE_DIR)/<(package_name)/aidl/'
], |
| 36 }, |
| 37 }, |
30 'rules': [ | 38 'rules': [ |
31 { | 39 { |
32 'rule_name': 'compile_aidl', | 40 'rule_name': 'compile_aidl', |
33 'extension': 'aidl', | 41 'extension': 'aidl', |
34 'inputs': [ | 42 'inputs': [ |
35 '<(android_sdk)/framework.aidl', | 43 '<(android_sdk)/framework.aidl', |
36 '<(aidl_interface_file)', | 44 '<(aidl_interface_file)', |
37 ], | 45 ], |
38 'outputs': [ | 46 'outputs': [ |
39 '<(PRODUCT_DIR)/lib.java/<(RULE_INPUT_ROOT).java', | 47 '<(SHARED_INTERMEDIATE_DIR)/<(package_name)/aidl/<(RULE_INPUT_ROOT).java
', |
40 ], | 48 ], |
41 'action': [ | 49 'action': [ |
42 '<(android_sdk_tools)/aidl', | 50 '<(android_sdk_tools)/aidl', |
43 '-p<(android_sdk)/framework.aidl', | 51 '-p<(android_sdk)/framework.aidl', |
44 '-p<(aidl_interface_file)', | 52 '-p<(aidl_interface_file)', |
45 '<(RULE_INPUT_PATH)', | 53 '<(RULE_INPUT_PATH)', |
46 '<(PRODUCT_DIR)/lib.java/<(RULE_INPUT_ROOT).java', | 54 '<(SHARED_INTERMEDIATE_DIR)/<(package_name)/aidl/<(RULE_INPUT_ROOT).java
', |
47 ], | 55 ], |
48 }, | 56 }, |
49 ], | 57 ], |
50 } | 58 } |
OLD | NEW |