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

Unified Diff: third_party/mojo/src/mojo/public/tools/bindings/mojom.gni

Issue 975973002: Update mojo sdk to rev f68e697e389943cd9bf9652397312280e96b127a (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: shake fist at msvc Created 5 years, 10 months 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 side-by-side diff with in-line comments
Download patch
Index: third_party/mojo/src/mojo/public/tools/bindings/mojom.gni
diff --git a/third_party/mojo/src/mojo/public/tools/bindings/mojom.gni b/third_party/mojo/src/mojo/public/tools/bindings/mojom.gni
index 0a8e0f29c08ec56a4f5d69b5c7aa15149269b618..00a61a8190b43317542c6842c2872c28819260e2 100644
--- a/third_party/mojo/src/mojo/public/tools/bindings/mojom.gni
+++ b/third_party/mojo/src/mojo/public/tools/bindings/mojom.gni
@@ -16,7 +16,7 @@ import("../../mojo_sdk.gni")
#
# Parameters:
#
-# sources (required)
+# sources (optional if one of the deps sets listed below is present)
# List of source .mojom files to compile.
#
# deps (optional)
@@ -42,97 +42,103 @@ import("../../mojo_sdk.gni")
#
# visibility (optional)
template("mojom") {
- assert(defined(invoker.sources),
- "\"sources\" must be defined for the $target_name template.")
+ assert(
+ defined(invoker.sources) || defined(invoker.deps) ||
+ defined(invoker.public_deps) || defined(invoker.mojo_sdk_deps) ||
+ defined(invoker.mojo_sdk_public_deps),
+ "\"sources\" or \"deps\" must be defined for the $target_name template.")
- generator_root = rebase_path("mojo/public/tools/bindings", ".", mojo_root)
- generator_script = "$generator_root/mojom_bindings_generator.py"
- generator_sources = [
- generator_script,
- "$generator_root/generators/cpp_templates/enum_declaration.tmpl",
- "$generator_root/generators/cpp_templates/interface_declaration.tmpl",
- "$generator_root/generators/cpp_templates/interface_definition.tmpl",
- "$generator_root/generators/cpp_templates/interface_macros.tmpl",
- "$generator_root/generators/cpp_templates/interface_proxy_declaration.tmpl",
- "$generator_root/generators/cpp_templates/interface_request_validator_declaration.tmpl",
- "$generator_root/generators/cpp_templates/interface_response_validator_declaration.tmpl",
- "$generator_root/generators/cpp_templates/interface_stub_declaration.tmpl",
- "$generator_root/generators/cpp_templates/module.cc.tmpl",
- "$generator_root/generators/cpp_templates/module.h.tmpl",
- "$generator_root/generators/cpp_templates/module-internal.h.tmpl",
- "$generator_root/generators/cpp_templates/serialization_macros.tmpl",
- "$generator_root/generators/cpp_templates/struct_declaration.tmpl",
- "$generator_root/generators/cpp_templates/struct_definition.tmpl",
- "$generator_root/generators/cpp_templates/struct_serialization_definition.tmpl",
- "$generator_root/generators/cpp_templates/struct_macros.tmpl",
- "$generator_root/generators/cpp_templates/wrapper_class_declaration.tmpl",
- "$generator_root/generators/cpp_templates/wrapper_class_definition.tmpl",
- "$generator_root/generators/cpp_templates/union_declaration.tmpl",
- "$generator_root/generators/cpp_templates/union_definition.tmpl",
- "$generator_root/generators/cpp_templates/union_serialization_definition.tmpl",
- "$generator_root/generators/cpp_templates/validation_macros.tmpl",
- "$generator_root/generators/cpp_templates/wrapper_union_class_declaration.tmpl",
- "$generator_root/generators/cpp_templates/wrapper_union_class_definition.tmpl",
- "$generator_root/generators/dart_templates/enum_definition.tmpl",
- "$generator_root/generators/dart_templates/interface_definition.tmpl",
- "$generator_root/generators/dart_templates/module.lib.tmpl",
- "$generator_root/generators/dart_templates/module_definition.tmpl",
- "$generator_root/generators/dart_templates/struct_definition.tmpl",
- "$generator_root/generators/go_templates/enum.tmpl",
- "$generator_root/generators/go_templates/interface.tmpl",
- "$generator_root/generators/go_templates/source.tmpl",
- "$generator_root/generators/go_templates/struct.tmpl",
- "$generator_root/generators/java_templates/constant_definition.tmpl",
- "$generator_root/generators/java_templates/constants.java.tmpl",
- "$generator_root/generators/java_templates/enum.java.tmpl",
- "$generator_root/generators/java_templates/enum_definition.tmpl",
- "$generator_root/generators/java_templates/header.java.tmpl",
- "$generator_root/generators/java_templates/interface.java.tmpl",
- "$generator_root/generators/java_templates/interface_definition.tmpl",
- "$generator_root/generators/java_templates/interface_internal.java.tmpl",
- "$generator_root/generators/java_templates/struct.java.tmpl",
- "$generator_root/generators/java_templates/struct_definition.tmpl",
- "$generator_root/generators/js_templates/enum_definition.tmpl",
- "$generator_root/generators/js_templates/interface_definition.tmpl",
- "$generator_root/generators/js_templates/module.amd.tmpl",
- "$generator_root/generators/js_templates/module.sky.tmpl",
- "$generator_root/generators/js_templates/module_definition.tmpl",
- "$generator_root/generators/js_templates/struct_definition.tmpl",
- "$generator_root/generators/python_templates/module_macros.tmpl",
- "$generator_root/generators/python_templates/module.py.tmpl",
- "$generator_root/generators/mojom_cpp_generator.py",
- "$generator_root/generators/mojom_dart_generator.py",
- "$generator_root/generators/mojom_go_generator.py",
- "$generator_root/generators/mojom_js_generator.py",
- "$generator_root/generators/mojom_java_generator.py",
- "$generator_root/generators/mojom_python_generator.py",
- "$generator_root/pylib/mojom/__init__.py",
- "$generator_root/pylib/mojom/error.py",
- "$generator_root/pylib/mojom/generate/__init__.py",
- "$generator_root/pylib/mojom/generate/data.py",
- "$generator_root/pylib/mojom/generate/generator.py",
- "$generator_root/pylib/mojom/generate/module.py",
- "$generator_root/pylib/mojom/generate/pack.py",
- "$generator_root/pylib/mojom/generate/template_expander.py",
- "$generator_root/pylib/mojom/parse/__init__.py",
- "$generator_root/pylib/mojom/parse/ast.py",
- "$generator_root/pylib/mojom/parse/lexer.py",
- "$generator_root/pylib/mojom/parse/parser.py",
- "$generator_root/pylib/mojom/parse/translate.py",
- ]
- generator_cpp_outputs = [
- "{{source_gen_dir}}/{{source_name_part}}.mojom.cc",
- "{{source_gen_dir}}/{{source_name_part}}.mojom.h",
- "{{source_gen_dir}}/{{source_name_part}}.mojom-internal.h",
- ]
- generator_dart_outputs =
- [ "{{source_gen_dir}}/{{source_name_part}}.mojom.dart" ]
+ if (defined(invoker.sources)) {
+ generator_root = rebase_path("mojo/public/tools/bindings", ".", mojo_root)
+ generator_script = "$generator_root/mojom_bindings_generator.py"
+ generator_sources = [
+ generator_script,
+ "$generator_root/generators/cpp_templates/enum_declaration.tmpl",
+ "$generator_root/generators/cpp_templates/interface_declaration.tmpl",
+ "$generator_root/generators/cpp_templates/interface_definition.tmpl",
+ "$generator_root/generators/cpp_templates/interface_macros.tmpl",
+ "$generator_root/generators/cpp_templates/interface_proxy_declaration.tmpl",
+ "$generator_root/generators/cpp_templates/interface_request_validator_declaration.tmpl",
+ "$generator_root/generators/cpp_templates/interface_response_validator_declaration.tmpl",
+ "$generator_root/generators/cpp_templates/interface_stub_declaration.tmpl",
+ "$generator_root/generators/cpp_templates/module.cc.tmpl",
+ "$generator_root/generators/cpp_templates/module.h.tmpl",
+ "$generator_root/generators/cpp_templates/module-internal.h.tmpl",
+ "$generator_root/generators/cpp_templates/serialization_macros.tmpl",
+ "$generator_root/generators/cpp_templates/struct_declaration.tmpl",
+ "$generator_root/generators/cpp_templates/struct_definition.tmpl",
+ "$generator_root/generators/cpp_templates/struct_serialization_definition.tmpl",
+ "$generator_root/generators/cpp_templates/struct_macros.tmpl",
+ "$generator_root/generators/cpp_templates/wrapper_class_declaration.tmpl",
+ "$generator_root/generators/cpp_templates/wrapper_class_definition.tmpl",
+ "$generator_root/generators/cpp_templates/union_declaration.tmpl",
+ "$generator_root/generators/cpp_templates/union_definition.tmpl",
+ "$generator_root/generators/cpp_templates/union_serialization_definition.tmpl",
+ "$generator_root/generators/cpp_templates/validation_macros.tmpl",
+ "$generator_root/generators/cpp_templates/wrapper_union_class_declaration.tmpl",
+ "$generator_root/generators/cpp_templates/wrapper_union_class_definition.tmpl",
+ "$generator_root/generators/dart_templates/enum_definition.tmpl",
+ "$generator_root/generators/dart_templates/interface_definition.tmpl",
+ "$generator_root/generators/dart_templates/module.lib.tmpl",
+ "$generator_root/generators/dart_templates/module_definition.tmpl",
+ "$generator_root/generators/dart_templates/struct_definition.tmpl",
+ "$generator_root/generators/go_templates/enum.tmpl",
+ "$generator_root/generators/go_templates/interface.tmpl",
+ "$generator_root/generators/go_templates/source.tmpl",
+ "$generator_root/generators/go_templates/struct.tmpl",
+ "$generator_root/generators/java_templates/constant_definition.tmpl",
+ "$generator_root/generators/java_templates/constants.java.tmpl",
+ "$generator_root/generators/java_templates/enum.java.tmpl",
+ "$generator_root/generators/java_templates/enum_definition.tmpl",
+ "$generator_root/generators/java_templates/header.java.tmpl",
+ "$generator_root/generators/java_templates/interface.java.tmpl",
+ "$generator_root/generators/java_templates/interface_definition.tmpl",
+ "$generator_root/generators/java_templates/interface_internal.java.tmpl",
+ "$generator_root/generators/java_templates/struct.java.tmpl",
+ "$generator_root/generators/java_templates/struct_definition.tmpl",
+ "$generator_root/generators/js_templates/enum_definition.tmpl",
+ "$generator_root/generators/js_templates/interface_definition.tmpl",
+ "$generator_root/generators/js_templates/module.amd.tmpl",
+ "$generator_root/generators/js_templates/module.sky.tmpl",
+ "$generator_root/generators/js_templates/module_definition.tmpl",
+ "$generator_root/generators/js_templates/struct_definition.tmpl",
+ "$generator_root/generators/python_templates/module_macros.tmpl",
+ "$generator_root/generators/python_templates/module.py.tmpl",
+ "$generator_root/generators/mojom_cpp_generator.py",
+ "$generator_root/generators/mojom_dart_generator.py",
+ "$generator_root/generators/mojom_go_generator.py",
+ "$generator_root/generators/mojom_js_generator.py",
+ "$generator_root/generators/mojom_java_generator.py",
+ "$generator_root/generators/mojom_python_generator.py",
+ "$generator_root/pylib/mojom/__init__.py",
+ "$generator_root/pylib/mojom/error.py",
+ "$generator_root/pylib/mojom/generate/__init__.py",
+ "$generator_root/pylib/mojom/generate/data.py",
+ "$generator_root/pylib/mojom/generate/generator.py",
+ "$generator_root/pylib/mojom/generate/module.py",
+ "$generator_root/pylib/mojom/generate/pack.py",
+ "$generator_root/pylib/mojom/generate/template_expander.py",
+ "$generator_root/pylib/mojom/parse/__init__.py",
+ "$generator_root/pylib/mojom/parse/ast.py",
+ "$generator_root/pylib/mojom/parse/lexer.py",
+ "$generator_root/pylib/mojom/parse/parser.py",
+ "$generator_root/pylib/mojom/parse/translate.py",
+ ]
+ generator_cpp_outputs = [
+ "{{source_gen_dir}}/{{source_name_part}}.mojom.cc",
+ "{{source_gen_dir}}/{{source_name_part}}.mojom.h",
+ "{{source_gen_dir}}/{{source_name_part}}.mojom-internal.h",
+ ]
+ generator_js_outputs =
+ [ "{{source_gen_dir}}/{{source_name_part}}.mojom.js" ]
+ generator_dart_outputs =
+ [ "{{source_gen_dir}}/{{source_name_part}}.mojom.dart" ]
+ generator_python_outputs =
+ [ "{{source_gen_dir}}/{{source_name_part}}_mojom.py" ]
+ generator_java_outputs =
+ [ "{{source_gen_dir}}/{{source_name_part}}.mojom.srcjar" ]
+ }
generator_dart_zip_output = "$target_out_dir/$target_name.dartzip"
- generator_java_outputs =
- [ "{{source_gen_dir}}/{{source_name_part}}.mojom.srcjar" ]
- generator_js_outputs = [ "{{source_gen_dir}}/{{source_name_part}}.mojom.js" ]
- generator_python_outputs =
- [ "{{source_gen_dir}}/{{source_name_part}}_mojom.py" ]
generator_python_zip_output = "$target_out_dir/$target_name.pyzip"
rebased_mojo_sdk_public_deps = []
@@ -160,36 +166,38 @@ template("mojom") {
target_visibility = [ ":$target_name" ]
}
- generator_target_name = target_name + "__generator"
- action_foreach(generator_target_name) {
- if (defined(invoker.visibility)) {
- visibility = target_visibility + invoker.visibility
- }
- script = generator_script
- inputs = generator_sources
- sources = invoker.sources
- outputs =
- generator_cpp_outputs + generator_dart_outputs +
- generator_java_outputs + generator_js_outputs + generator_python_outputs
- args = [
- "{{source}}",
- "--use_bundled_pylibs",
- "-d",
- rebase_path("//", root_build_dir),
- "-I",
- rebase_path("//", root_build_dir),
- "-I",
- rebase_path(mojo_root, root_build_dir),
- "-o",
- rebase_path(root_gen_dir),
- ]
+ if (defined(invoker.sources)) {
+ generator_target_name = target_name + "__generator"
+ action_foreach(generator_target_name) {
+ if (defined(invoker.visibility)) {
+ visibility = target_visibility + invoker.visibility
+ }
+ script = generator_script
+ inputs = generator_sources
+ sources = invoker.sources
+ outputs = generator_cpp_outputs + generator_dart_outputs +
+ generator_java_outputs + generator_js_outputs +
+ generator_python_outputs
+ args = [
+ "{{source}}",
+ "--use_bundled_pylibs",
+ "-d",
+ rebase_path("//", root_build_dir),
+ "-I",
+ rebase_path("//", root_build_dir),
+ "-I",
+ rebase_path(mojo_root, root_build_dir),
+ "-o",
+ rebase_path(root_gen_dir),
+ ]
- if (defined(invoker.import_dirs)) {
- foreach(import_dir, invoker.import_dirs) {
- args += [
- "-I",
- rebase_path(import_dir, root_build_dir),
- ]
+ if (defined(invoker.import_dirs)) {
+ foreach(import_dir, invoker.import_dirs) {
+ args += [
+ "-I",
+ rebase_path(import_dir, root_build_dir),
+ ]
+ }
}
}
}
@@ -201,8 +209,10 @@ template("mojom") {
if (defined(invoker.testonly)) {
testonly = invoker.testonly
}
- sources = process_file_template(invoker.sources, generator_cpp_outputs)
- data = process_file_template(invoker.sources, generator_js_outputs)
+ if (defined(invoker.sources)) {
+ sources = process_file_template(invoker.sources, generator_cpp_outputs)
+ data = process_file_template(invoker.sources, generator_js_outputs)
+ }
public_configs =
rebase_path([ "mojo/public/build/config:mojo_sdk" ], ".", mojo_root)
@@ -213,9 +223,10 @@ template("mojom") {
public_deps += invoker.public_deps
}
- deps = [
- ":$generator_target_name",
- ]
+ deps = []
+ if (defined(invoker.sources)) {
+ deps += [ ":$generator_target_name" ]
+ }
deps += rebased_mojo_sdk_deps
if (defined(invoker.deps)) {
deps += invoker.deps
@@ -258,7 +269,9 @@ template("mojom") {
action("${target_name}_python") {
script = rebase_path("mojo/public/tools/gn/zip.py", ".", mojo_root)
- inputs = process_file_template(invoker.sources, generator_python_outputs)
+ if (defined(invoker.sources)) {
+ inputs = process_file_template(invoker.sources, generator_python_outputs)
+ }
deps = []
zip_inputs = []
@@ -280,21 +293,27 @@ template("mojom") {
]
rebase_base_dir = rebase_path(target_gen_dir, root_build_dir)
- rebase_inputs = rebase_path(inputs, root_build_dir)
+ if (defined(invoker.sources)) {
+ rebase_inputs = rebase_path(inputs, root_build_dir)
+ }
rebase_zip_inputs = rebase_path(zip_inputs, root_build_dir)
rebase_output = rebase_path(output, root_build_dir)
args = [
"--base-dir=$rebase_base_dir",
- "--inputs=$rebase_inputs",
"--zip-inputs=$rebase_zip_inputs",
"--output=$rebase_output",
]
+ if (defined(invoker.sources)) {
+ args += [ "--inputs=$rebase_inputs" ]
+ }
}
action("${target_name}_dart") {
script = rebase_path("mojo/public/tools/gn/zip.py", ".", mojo_root)
- inputs = process_file_template(invoker.sources, generator_dart_outputs)
+ if (defined(invoker.sources)) {
+ inputs = process_file_template(invoker.sources, generator_dart_outputs)
+ }
deps = []
zip_inputs = []
@@ -316,15 +335,19 @@ template("mojom") {
]
rebase_base_dir = rebase_path("$root_build_dir/gen/", root_build_dir)
- rebase_inputs = rebase_path(inputs, root_build_dir)
+ if (defined(invoker.sources)) {
+ rebase_inputs = rebase_path(inputs, root_build_dir)
+ }
rebase_zip_inputs = rebase_path(zip_inputs, root_build_dir)
rebase_output = rebase_path(output, root_build_dir)
args = [
"--base-dir=$rebase_base_dir",
- "--inputs=$rebase_inputs",
"--zip-inputs=$rebase_zip_inputs",
"--output=$rebase_output",
]
+ if (defined(invoker.sources)) {
+ args += [ "--inputs=$rebase_inputs" ]
+ }
}
if (is_android) {
@@ -347,7 +370,9 @@ template("mojom") {
deps += [ "${full_name}_java" ]
}
- srcjars = process_file_template(invoker.sources, generator_java_outputs)
+ if (defined(invoker.sources)) {
+ srcjars = process_file_template(invoker.sources, generator_java_outputs)
+ }
}
}
}

Powered by Google App Engine
This is Rietveld 408576698