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 in a consistent manner. | 6 # to build Java 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': 'my-package_java', | 10 # 'target_name': 'my-package_java', |
(...skipping 26 matching lines...) Expand all Loading... | |
37 # javac_includes - A list of specific files to include. This is by default | 37 # javac_includes - A list of specific files to include. This is by default |
38 # empty, which leads to inclusion of all files specified. May include | 38 # empty, which leads to inclusion of all files specified. May include |
39 # wildcard, and supports '**/' for recursive path wildcards, ie.: | 39 # wildcard, and supports '**/' for recursive path wildcards, ie.: |
40 # '**/MyFileRegardlessOfDirectory.java', '**/IncludedPrefix*.java'. | 40 # '**/MyFileRegardlessOfDirectory.java', '**/IncludedPrefix*.java'. |
41 # has_java_resources - Set to 1 if the java target contains an | 41 # has_java_resources - Set to 1 if the java target contains an |
42 # Android-compatible resources folder named res. If 1, R_package and | 42 # Android-compatible resources folder named res. If 1, R_package and |
43 # R_package_relpath must also be set. | 43 # R_package_relpath must also be set. |
44 # R_package - The java package in which the R class (which maps resources to | 44 # R_package - The java package in which the R class (which maps resources to |
45 # integer IDs) should be generated, e.g. org.chromium.content. | 45 # integer IDs) should be generated, e.g. org.chromium.content. |
46 # R_package_relpath - Same as R_package, but replace each '.' with '/'. | 46 # R_package_relpath - Same as R_package, but replace each '.' with '/'. |
47 # java_strings_grd - The name of the grd file from which to generate localized | |
48 # strings.xml files, if any. | |
47 | 49 |
48 { | 50 { |
49 'dependencies': [ | 51 'dependencies': [ |
50 '<(DEPTH)/build/build_output_dirs_android.gyp:build_output_dirs' | 52 '<(DEPTH)/build/build_output_dirs_android.gyp:build_output_dirs' |
51 ], | 53 ], |
52 # This all_dependent_settings is used for java targets only. This will add the | 54 # This all_dependent_settings is used for java targets only. This will add the |
53 # chromium_<(package_name) jar to the classpath of dependent java targets. | 55 # chromium_<(package_name) jar to the classpath of dependent java targets. |
54 'all_dependent_settings': { | 56 'all_dependent_settings': { |
55 'variables': { | 57 'variables': { |
56 'input_jars_paths': ['<(PRODUCT_DIR)/lib.java/chromium_<(package_name).jar '], | 58 'input_jars_paths': ['<(PRODUCT_DIR)/lib.java/chromium_<(package_name).jar '], |
57 }, | 59 }, |
58 }, | 60 }, |
59 'variables': { | 61 'variables': { |
60 'input_jars_paths': [], | 62 'input_jars_paths': [], |
61 'additional_src_dirs': [], | 63 'additional_src_dirs': [], |
62 'javac_includes': [], | 64 'javac_includes': [], |
63 'additional_input_paths': ['>@(additional_R_files)'], | 65 'additional_input_paths': ['>@(additional_R_files)'], |
64 'generated_src_dirs': ['>@(generated_R_dirs)'], | 66 'generated_src_dirs': ['>@(generated_R_dirs)'], |
65 'generated_R_dirs': [], | 67 'generated_R_dirs': [], |
66 'additional_R_files': [], | 68 'additional_R_files': [], |
67 'has_java_resources%': 0, | 69 'has_java_resources%': 0, |
70 'java_strings_grd%': '', | |
71 'grit_grd_file': '<(java_in_dir)/grd/>(java_strings_grd)', | |
68 }, | 72 }, |
69 'conditions': [ | 73 'conditions': [ |
70 ['has_java_resources == 1', { | 74 ['has_java_resources == 1', { |
71 'variables': { | 75 'variables': { |
72 'res_dir': '<(java_in_dir)/res', | 76 'res_dir': '<(java_in_dir)/res', |
73 'crunched_res_dir': '<(SHARED_INTERMEDIATE_DIR)/<(package_name)/res', | 77 'out_res_dir': '<(SHARED_INTERMEDIATE_DIR)/<(package_name)/res', |
74 'R_dir': '<(SHARED_INTERMEDIATE_DIR)/<(package_name)/java_R', | 78 'R_dir': '<(SHARED_INTERMEDIATE_DIR)/<(package_name)/java_R', |
75 'R_file': '<(R_dir)/<(R_package_relpath)/R.java', | 79 'R_file': '<(R_dir)/<(R_package_relpath)/R.java', |
76 'generated_src_dirs': ['<(R_dir)'], | 80 'generated_src_dirs': ['<(R_dir)'], |
77 'additional_input_paths': ['<(R_file)'], | 81 'additional_input_paths': ['<(R_file)'], |
78 }, | 82 }, |
79 'all_dependent_settings': { | 83 'all_dependent_settings': { |
80 'variables': { | 84 'variables': { |
81 # Dependent jars include this target's R.java file via | 85 # Dependent jars include this target's R.java file via |
82 # generated_R_dirs and additional_R_files. | 86 # generated_R_dirs and additional_R_files. |
83 'generated_R_dirs': ['<(R_dir)'], | 87 'generated_R_dirs': ['<(R_dir)'], |
84 'additional_R_files': ['<(R_file)'], | 88 'additional_R_files': ['<(R_file)'], |
85 | 89 |
86 # Dependent APKs include this target's resources via | 90 # Dependent APKs include this target's resources via |
87 # additional_res_dirs and additional_res_packages. | 91 # additional_res_dirs and additional_res_packages. |
88 'additional_res_dirs': ['<(crunched_res_dir)', '<(res_dir)'], | 92 'additional_res_dirs': ['<(out_res_dir)', '<(res_dir)'], |
89 'additional_res_packages': ['<(R_package)'], | 93 'additional_res_packages': ['<(R_package)'], |
90 }, | 94 }, |
91 }, | 95 }, |
92 'actions': [ | 96 'actions': [ |
93 # Generate R.java and crunch image resources. | 97 # Generate R.java and crunch image resources. |
94 { | 98 { |
95 'action_name': 'process_resources', | 99 'action_name': 'process_resources', |
96 'message': 'processing resources for <(package_name)', | 100 'message': 'processing resources for <(package_name)', |
101 'conditions': [ | |
102 ['java_strings_grd != ""', { | |
103 'inputs': [ | |
104 # TODO(newt): replace this with .../values/strings.xml once | |
105 # the English strings.xml is generated as well? That would be | |
106 # simpler and faster and should be equivalent. | |
107 '<!@pymod_do_main(grit_info <@(grit_defines) --outputs "<(out_re s_dir)" <(grit_grd_file))', | |
108 ], | |
109 }], | |
110 ], | |
97 'inputs': [ | 111 'inputs': [ |
98 '<(DEPTH)/build/android/process_resources.py', | 112 '<(DEPTH)/build/android/process_resources.py', |
99 '<!@(find <(res_dir) -type f)', | 113 '<!@(find <(res_dir) -type f)', |
100 ], | 114 ], |
101 'outputs': [ | 115 'outputs': [ |
102 '<(R_file)', | 116 '<(R_file)', |
103 ], | 117 ], |
104 'action': [ | 118 'action': [ |
105 '<(DEPTH)/build/android/process_resources.py', | 119 '<(DEPTH)/build/android/process_resources.py', |
106 '--android-sdk', '<(android_sdk)', | 120 '--android-sdk', '<(android_sdk)', |
107 '--android-sdk-tools', '<(android_sdk_tools)', | 121 '--android-sdk-tools', '<(android_sdk_tools)', |
108 '--R-package', '<(R_package)', | 122 '--R-package', '<(R_package)', |
109 '--R-dir', '<(R_dir)', | 123 '--R-dir', '<(R_dir)', |
110 '--res-dir', '<(res_dir)', | 124 '--res-dir', '<(res_dir)', |
111 '--crunched-res-dir', '<(crunched_res_dir)', | 125 '--crunched-res-dir', '<(out_res_dir)', |
112 ], | 126 ], |
113 }, | 127 }, |
114 ], | 128 ], |
129 'conditions': [ | |
130 ['java_strings_grd != ""', { | |
131 'actions': [ | |
132 { | |
133 'action_name': 'generate_localized_strings_xml', | |
cjhopman
2013/01/03 01:38:03
If this happens before the 'process_resources' act
newt (away)
2013/01/03 02:23:02
Done.
| |
134 'variables': { | |
135 'grit_out_dir': '<(out_res_dir)', | |
136 # resource_ids is unneeded since we don't generate .h headers. | |
137 'grit_resource_ids': '', | |
138 }, | |
139 'includes': ['../build/grit_action.gypi'], | |
140 }, | |
141 ], | |
142 }], | |
143 ], | |
115 }], | 144 }], |
116 ], | 145 ], |
117 'actions': [ | 146 'actions': [ |
118 { | 147 { |
119 'action_name': 'ant_<(package_name)', | 148 'action_name': 'ant_<(package_name)', |
120 'message': 'Building <(package_name) java sources.', | 149 'message': 'Building <(package_name) java sources.', |
121 'inputs': [ | 150 'inputs': [ |
122 'android/ant/common.xml', | 151 'android/ant/common.xml', |
123 'android/ant/chromium-jars.xml', | 152 'android/ant/chromium-jars.xml', |
124 '>!@(find >(java_in_dir) >(additional_src_dirs) -name "*.java")', | 153 '>!@(find >(java_in_dir) >(additional_src_dirs) -name "*.java")', |
(...skipping 19 matching lines...) Expand all Loading... | |
144 '-DPACKAGE_NAME=<(package_name)', | 173 '-DPACKAGE_NAME=<(package_name)', |
145 '-DJAVAC_INCLUDES=>(javac_includes)', | 174 '-DJAVAC_INCLUDES=>(javac_includes)', |
146 | 175 |
147 '-Dbasedir=<(java_in_dir)', | 176 '-Dbasedir=<(java_in_dir)', |
148 '-buildfile', | 177 '-buildfile', |
149 '<(DEPTH)/build/android/ant/chromium-jars.xml' | 178 '<(DEPTH)/build/android/ant/chromium-jars.xml' |
150 ] | 179 ] |
151 }, | 180 }, |
152 ], | 181 ], |
153 } | 182 } |
OLD | NEW |