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> | |
14 # 'aidl_interface_file': '<interface-path>/<interface-file>.aidl', | 13 # 'aidl_interface_file': '<interface-path>/<interface-file>.aidl', |
15 # }, | 14 # }, |
16 # 'sources': { | 15 # 'sources': { |
17 # '<input-path1>/<input-file1>.aidl', | 16 # '<input-path1>/<input-file1>.aidl', |
18 # '<input-path2>/<input-file2>.aidl', | 17 # '<input-path2>/<input-file2>.aidl', |
19 # ... | 18 # ... |
20 # }, | 19 # }, |
21 # 'includes': ['<path-to-this-file>/java_aidl.gypi'], | 20 # 'includes': ['<path-to-this-file>/java_aidl.gypi'], |
22 # } | 21 # } |
23 # | 22 # |
24 # | 23 # |
25 # The generated java files will be: | 24 # The generated java files will be: |
26 # <(PRODUCT_DIR)/lib.java/<input-file1>.java | 25 # <(PRODUCT_DIR)/lib.java/<input-file1>.java |
27 # <(PRODUCT_DIR)/lib.java/<input-file2>.java | 26 # <(PRODUCT_DIR)/lib.java/<input-file2>.java |
28 # ... | 27 # ... |
29 # | 28 # |
30 # TODO(cjhopman): dependents need to rebuild when this target's inputs have chan
ged. | 29 # TODO(cjhopman): dependents need to rebuild when this target's inputs have chan
ged. |
31 | 30 |
32 { | 31 { |
| 32 'variables': { |
| 33 'intermediate_dir': '<(SHARED_INTERMEDIATE_DIR)/<(_target_name)/aidl', |
| 34 }, |
33 'direct_dependent_settings': { | 35 'direct_dependent_settings': { |
34 'variables': { | 36 'variables': { |
35 'generated_src_dirs': ['<(SHARED_INTERMEDIATE_DIR)/<(package_name)/aidl/']
, | 37 'generated_src_dirs': ['<(intermediate_dir)/'], |
36 }, | 38 }, |
37 }, | 39 }, |
38 'rules': [ | 40 'rules': [ |
39 { | 41 { |
40 'rule_name': 'compile_aidl', | 42 'rule_name': 'compile_aidl', |
41 'extension': 'aidl', | 43 'extension': 'aidl', |
42 'inputs': [ | 44 'inputs': [ |
43 '<(android_sdk)/framework.aidl', | 45 '<(android_sdk)/framework.aidl', |
44 '<(aidl_interface_file)', | 46 '<(aidl_interface_file)', |
45 ], | 47 ], |
46 'outputs': [ | 48 'outputs': [ |
47 '<(SHARED_INTERMEDIATE_DIR)/<(package_name)/aidl/<(RULE_INPUT_ROOT).java
', | 49 '<(intermediate_dir)/<(RULE_INPUT_ROOT).java', |
48 ], | 50 ], |
49 'action': [ | 51 'action': [ |
50 '<(android_sdk_tools)/aidl', | 52 '<(android_sdk_tools)/aidl', |
51 '-p<(android_sdk)/framework.aidl', | 53 '-p<(android_sdk)/framework.aidl', |
52 '-p<(aidl_interface_file)', | 54 '-p<(aidl_interface_file)', |
53 '<(RULE_INPUT_PATH)', | 55 '<(RULE_INPUT_PATH)', |
54 '<(SHARED_INTERMEDIATE_DIR)/<(package_name)/aidl/<(RULE_INPUT_ROOT).java
', | 56 '<(intermediate_dir)/<(RULE_INPUT_ROOT).java', |
55 ], | 57 ], |
56 }, | 58 }, |
57 ], | 59 ], |
58 } | 60 } |
OLD | NEW |