Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(397)

Side by Side Diff: mojo/public/tools/bindings/mojom.gni

Issue 1410053006: Move third_party/mojo/src/mojo/public to mojo/public (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: merge Created 5 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 # Copyright 2014 The Chromium Authors. All rights reserved. 1 # Copyright 2014 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 import("../../mojo_sdk.gni") 5 import("../../mojo_sdk.gni")
6 6
7 # Generate C++/JavaScript/Java source files from mojom files. The output files 7 # Generate C++/JavaScript/Java source files from mojom files. The output files
8 # will go under the generated file directory tree with the same path as each 8 # will go under the generated file directory tree with the same path as each
9 # input file. 9 # input file.
10 # 10 #
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after
49 template("mojom") { 49 template("mojom") {
50 assert( 50 assert(
51 defined(invoker.sources) || defined(invoker.deps) || 51 defined(invoker.sources) || defined(invoker.deps) ||
52 defined(invoker.public_deps) || defined(invoker.mojo_sdk_deps) || 52 defined(invoker.public_deps) || defined(invoker.mojo_sdk_deps) ||
53 defined(invoker.mojo_sdk_public_deps), 53 defined(invoker.mojo_sdk_public_deps),
54 "\"sources\" or \"deps\" must be defined for the $target_name template.") 54 "\"sources\" or \"deps\" must be defined for the $target_name template.")
55 55
56 cpp_sources_suffix = "cpp_sources" 56 cpp_sources_suffix = "cpp_sources"
57 cpp_sources_target_name = "${target_name}_${cpp_sources_suffix}" 57 cpp_sources_target_name = "${target_name}_${cpp_sources_suffix}"
58 if (defined(invoker.sources)) { 58 if (defined(invoker.sources)) {
59 generator_root = rebase_path("mojo/public/tools/bindings", ".", mojo_root) 59 generator_root = "//mojo/public/tools/bindings"
60 generator_script = "$generator_root/mojom_bindings_generator.py" 60 generator_script = "$generator_root/mojom_bindings_generator.py"
61 generator_sources = [ 61 generator_sources = [
62 generator_script, 62 generator_script,
63 "$generator_root/generators/cpp_templates/enum_macros.tmpl", 63 "$generator_root/generators/cpp_templates/enum_macros.tmpl",
64 "$generator_root/generators/cpp_templates/interface_declaration.tmpl", 64 "$generator_root/generators/cpp_templates/interface_declaration.tmpl",
65 "$generator_root/generators/cpp_templates/interface_definition.tmpl", 65 "$generator_root/generators/cpp_templates/interface_definition.tmpl",
66 "$generator_root/generators/cpp_templates/interface_macros.tmpl", 66 "$generator_root/generators/cpp_templates/interface_macros.tmpl",
67 "$generator_root/generators/cpp_templates/interface_proxy_declaration.tmpl ", 67 "$generator_root/generators/cpp_templates/interface_proxy_declaration.tmpl ",
68 "$generator_root/generators/cpp_templates/interface_request_validator_decl aration.tmpl", 68 "$generator_root/generators/cpp_templates/interface_request_validator_decl aration.tmpl",
69 "$generator_root/generators/cpp_templates/interface_response_validator_dec laration.tmpl", 69 "$generator_root/generators/cpp_templates/interface_response_validator_dec laration.tmpl",
(...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after
130 [ "{{source_gen_dir}}/{{source_name_part}}.mojom.js" ] 130 [ "{{source_gen_dir}}/{{source_name_part}}.mojom.js" ]
131 generator_java_outputs = 131 generator_java_outputs =
132 [ "{{source_gen_dir}}/{{source_name_part}}.mojom.srcjar" ] 132 [ "{{source_gen_dir}}/{{source_name_part}}.mojom.srcjar" ]
133 } 133 }
134 134
135 rebased_mojo_sdk_public_deps = [] 135 rebased_mojo_sdk_public_deps = []
136 if (defined(invoker.mojo_sdk_public_deps)) { 136 if (defined(invoker.mojo_sdk_public_deps)) {
137 foreach(sdk_dep, invoker.mojo_sdk_public_deps) { 137 foreach(sdk_dep, invoker.mojo_sdk_public_deps) {
138 # Check that the SDK dep was not mistakenly given as an absolute path. 138 # Check that the SDK dep was not mistakenly given as an absolute path.
139 assert(get_path_info(sdk_dep, "abspath") != sdk_dep) 139 assert(get_path_info(sdk_dep, "abspath") != sdk_dep)
140 rebased_mojo_sdk_public_deps += [ rebase_path(sdk_dep, ".", mojo_root) ] 140 rebased_mojo_sdk_public_deps += [ rebase_path(sdk_dep, ".", "//") ]
141 } 141 }
142 } 142 }
143 143
144 rebased_mojo_sdk_deps = [] 144 rebased_mojo_sdk_deps = []
145 if (defined(invoker.mojo_sdk_deps)) { 145 if (defined(invoker.mojo_sdk_deps)) {
146 foreach(sdk_dep, invoker.mojo_sdk_deps) { 146 foreach(sdk_dep, invoker.mojo_sdk_deps) {
147 # Check that the SDK dep was not mistakenly given as an absolute path. 147 # Check that the SDK dep was not mistakenly given as an absolute path.
148 assert(get_path_info(sdk_dep, "abspath") != sdk_dep) 148 assert(get_path_info(sdk_dep, "abspath") != sdk_dep)
149 rebased_mojo_sdk_deps += [ rebase_path(sdk_dep, ".", mojo_root) ] 149 rebased_mojo_sdk_deps += [ rebase_path(sdk_dep, ".", "//") ]
150 } 150 }
151 } 151 }
152 152
153 if (defined(invoker.sources)) { 153 if (defined(invoker.sources)) {
154 generator_target_name = target_name + "__generator" 154 generator_target_name = target_name + "__generator"
155 action_foreach(generator_target_name) { 155 action_foreach(generator_target_name) {
156 script = generator_script 156 script = generator_script
157 inputs = generator_sources 157 inputs = generator_sources
158 sources = invoker.sources 158 sources = invoker.sources
159 outputs = 159 outputs =
160 generator_cpp_outputs + generator_java_outputs + generator_js_outputs 160 generator_cpp_outputs + generator_java_outputs + generator_js_outputs
161 args = [ 161 args = [
162 "{{source}}", 162 "{{source}}",
163 "--use_bundled_pylibs", 163 "--use_bundled_pylibs",
164 "-d", 164 "-d",
165 rebase_path("//", root_build_dir), 165 rebase_path("//", root_build_dir),
166 "-I", 166 "-I",
167 rebase_path("//", root_build_dir), 167 rebase_path("//", root_build_dir),
168 "-I",
169 rebase_path(mojo_root, root_build_dir),
170 "-o", 168 "-o",
171 rebase_path(root_gen_dir), 169 rebase_path(root_gen_dir),
172 ] 170 ]
173 171
174 if (defined(invoker.import_dirs)) { 172 if (defined(invoker.import_dirs)) {
175 foreach(import_dir, invoker.import_dirs) { 173 foreach(import_dir, invoker.import_dirs) {
176 args += [ 174 args += [
177 "-I", 175 "-I",
178 rebase_path(import_dir, root_build_dir), 176 rebase_path(import_dir, root_build_dir),
179 ] 177 ]
180 } 178 }
181 } 179 }
182 } 180 }
183 } 181 }
184 182
185 source_set(target_name) { 183 source_set(target_name) {
186 if (defined(invoker.visibility)) { 184 if (defined(invoker.visibility)) {
187 visibility = invoker.visibility 185 visibility = invoker.visibility
188 } 186 }
189 if (defined(invoker.testonly)) { 187 if (defined(invoker.testonly)) {
190 testonly = invoker.testonly 188 testonly = invoker.testonly
191 } 189 }
192 if (defined(invoker.sources)) { 190 if (defined(invoker.sources)) {
193 data = process_file_template(invoker.sources, generator_js_outputs) 191 data = process_file_template(invoker.sources, generator_js_outputs)
194 } 192 }
195 193
196 public_deps = rebase_path([ "mojo/public/cpp/bindings" ], ".", mojo_root) 194 public_deps = [
195 "//mojo/public/cpp/bindings",
196 ]
197 if (defined(invoker.sources)) { 197 if (defined(invoker.sources)) {
198 public_deps += [ ":${cpp_sources_target_name}" ] 198 public_deps += [ ":${cpp_sources_target_name}" ]
199 } 199 }
200 public_deps += rebased_mojo_sdk_public_deps 200 public_deps += rebased_mojo_sdk_public_deps
201 if (defined(invoker.public_deps)) { 201 if (defined(invoker.public_deps)) {
202 public_deps += invoker.public_deps 202 public_deps += invoker.public_deps
203 } 203 }
204 204
205 deps = [] 205 deps = []
206 if (defined(invoker.sources)) { 206 if (defined(invoker.sources)) {
207 public_deps += [ ":$generator_target_name" ] 207 public_deps += [ ":$generator_target_name" ]
208 } 208 }
209 deps += rebased_mojo_sdk_deps 209 deps += rebased_mojo_sdk_deps
210 if (defined(invoker.deps)) { 210 if (defined(invoker.deps)) {
211 deps += invoker.deps 211 deps += invoker.deps
212 } 212 }
213 if (defined(invoker.mojo_sdk_deps)) { 213 if (defined(invoker.mojo_sdk_deps)) {
214 foreach(sdk_dep, invoker.mojo_sdk_deps) { 214 foreach(sdk_dep, invoker.mojo_sdk_deps) {
215 # Check that the SDK dep was not mistakenly given as an absolute path. 215 # Check that the SDK dep was not mistakenly given as an absolute path.
216 assert(get_path_info(sdk_dep, "abspath") != sdk_dep) 216 assert(get_path_info(sdk_dep, "abspath") != sdk_dep)
217 deps += [ rebase_path(sdk_dep, ".", mojo_root) ] 217 deps += [ rebase_path(sdk_dep, ".", "//") ]
218 } 218 }
219 } 219 }
220 } 220 }
221 221
222 all_deps = rebased_mojo_sdk_deps + rebased_mojo_sdk_public_deps 222 all_deps = rebased_mojo_sdk_deps + rebased_mojo_sdk_public_deps
223 if (defined(invoker.deps)) { 223 if (defined(invoker.deps)) {
224 all_deps += invoker.deps 224 all_deps += invoker.deps
225 } 225 }
226 if (defined(invoker.public_deps)) { 226 if (defined(invoker.public_deps)) {
227 all_deps += invoker.public_deps 227 all_deps += invoker.public_deps
(...skipping 21 matching lines...) Expand all
249 # this target *except* mojo/public/cpp/bindings and other *_cpp_sources 249 # this target *except* mojo/public/cpp/bindings and other *_cpp_sources
250 # targets. 250 # targets.
251 source_set(cpp_sources_target_name) { 251 source_set(cpp_sources_target_name) {
252 if (defined(invoker.testonly)) { 252 if (defined(invoker.testonly)) {
253 testonly = invoker.testonly 253 testonly = invoker.testonly
254 } 254 }
255 sources = process_file_template(invoker.sources, generator_cpp_outputs) 255 sources = process_file_template(invoker.sources, generator_cpp_outputs)
256 deps = [ 256 deps = [
257 ":$generator_target_name", 257 ":$generator_target_name",
258 "//base", 258 "//base",
259 rebase_path("mojo/public/interfaces/bindings:bindings__generator", 259 "//mojo/public/interfaces/bindings:bindings__generator",
260 ".",
261 mojo_root),
262 ] 260 ]
263 foreach(d, all_deps) { 261 foreach(d, all_deps) {
264 # Resolve the name, so that a target //mojo/something becomes 262 # Resolve the name, so that a target //mojo/something becomes
265 # //mojo/something:something and we can append cpp_sources_suffix to 263 # //mojo/something:something and we can append cpp_sources_suffix to
266 # get the cpp dependency name. 264 # get the cpp dependency name.
267 full_name = get_label_info(d, "label_no_toolchain") 265 full_name = get_label_info(d, "label_no_toolchain")
268 deps += [ "${full_name}_${cpp_sources_suffix}" ] 266 deps += [ "${full_name}_${cpp_sources_suffix}" ]
269 } 267 }
270 if (!defined(invoker.with_environment) || invoker.with_environment) { 268 if (!defined(invoker.with_environment) || invoker.with_environment) {
271 deps += [ "//mojo/environment:chromium" ] 269 deps += [ "//mojo/environment:chromium" ]
272 } 270 }
273 } 271 }
274 } 272 }
275 273
276 if (is_android) { 274 if (is_android) {
277 import("//build/config/android/rules.gni") 275 import("//build/config/android/rules.gni")
278 276
279 java_srcjar_target_name = target_name + "_java_sources" 277 java_srcjar_target_name = target_name + "_java_sources"
280 action(java_srcjar_target_name) { 278 action(java_srcjar_target_name) {
281 script = rebase_path("mojo/public/tools/gn/zip.py", ".", mojo_root) 279 script = "//mojo/public/tools/gn/zip.py"
282 inputs = process_file_template(invoker.sources, generator_java_outputs) 280 inputs = process_file_template(invoker.sources, generator_java_outputs)
283 output = "$target_gen_dir/$target_name.srcjar" 281 output = "$target_gen_dir/$target_name.srcjar"
284 outputs = [ 282 outputs = [
285 output, 283 output,
286 ] 284 ]
287 rebase_inputs = rebase_path(inputs, root_build_dir) 285 rebase_inputs = rebase_path(inputs, root_build_dir)
288 rebase_output = rebase_path(output, root_build_dir) 286 rebase_output = rebase_path(output, root_build_dir)
289 args = [ 287 args = [
290 "--zip-inputs=$rebase_inputs", 288 "--zip-inputs=$rebase_inputs",
291 "--output=$rebase_output", 289 "--output=$rebase_output",
292 ] 290 ]
293 deps = [ 291 deps = [
294 ":$generator_target_name", 292 ":$generator_target_name",
295 ] 293 ]
296 } 294 }
297 295
298 java_target_name = target_name + "_java" 296 java_target_name = target_name + "_java"
299 android_library(java_target_name) { 297 android_library(java_target_name) {
300 deps = rebase_path([ 298 deps = [
301 "mojo/public/java:bindings", 299 "//mojo/public/java:bindings",
302 "mojo/public/java:system", 300 "//mojo/public/java:system",
303 ], 301 ]
304 ".",
305 mojo_root)
306 302
307 foreach(d, all_deps) { 303 foreach(d, all_deps) {
308 # Resolve the name, so that a target //mojo/something becomes 304 # Resolve the name, so that a target //mojo/something becomes
309 # //mojo/something:something and we can append "_java" to get the java 305 # //mojo/something:something and we can append "_java" to get the java
310 # dependency name. 306 # dependency name.
311 full_name = get_label_info(d, "label_no_toolchain") 307 full_name = get_label_info(d, "label_no_toolchain")
312 deps += [ "${full_name}_java" ] 308 deps += [ "${full_name}_java" ]
313 } 309 }
314 310
315 srcjar_deps = [ ":$java_srcjar_target_name" ] 311 srcjar_deps = [ ":$java_srcjar_target_name" ]
316 } 312 }
317 } 313 }
318 } 314 }
OLDNEW
« no previous file with comments | « mojo/public/tools/bindings/generators/run_cpp_generator.py ('k') | mojo/public/tools/bindings/mojom_bindings_generator.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698