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

Unified Diff: third_party/mojo/src/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 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
deleted file mode 100644
index 9ef3198d89d65314244f934fc6e346ee908a732e..0000000000000000000000000000000000000000
--- a/third_party/mojo/src/mojo/public/tools/bindings/mojom.gni
+++ /dev/null
@@ -1,318 +0,0 @@
-# Copyright 2014 The Chromium Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-import("../../mojo_sdk.gni")
-
-# Generate C++/JavaScript/Java source files from mojom files. The output files
-# will go under the generated file directory tree with the same path as each
-# input file.
-#
-# If a mojom target is intended for use in a client repo where the location of
-# the Mojo SDK will be different than its location in the Mojo repo,
-# dependencies on the SDK should be specified relative to the parent directory
-# of the Mojo public SDK in |mojo_sdk_deps| rather than via absolute paths in
-# |deps|.
-#
-# Parameters:
-#
-# sources (optional if one of the deps sets listed below is present)
-# List of source .mojom files to compile.
-#
-# deps (optional)
-# Note: this can contain only other mojom targets.
-#
-# mojo_sdk_deps (optional)
-# List of deps specified relative to the parent directory of the Mojo
-# public SDK. These deps will be added as ordinary deps rebased to the
-# current directory.
-#
-# public_deps (optional)
-# Note: this can contain only other mojom targets.
-#
-# mojo_sdk_public_deps (optional)
-# List of public deps specified relative to the parent directory of the
-# Mojo public SDK. These deps will be added as ordinary public deps
-# rebased to the current directory.
-#
-# import_dirs (optional)
-# List of import directories that will get added when processing sources.
-#
-# with_environment (optional)
-# Set to |false| to omit an implicit bindings dependency on the Chromium
-# Mojo environment implementation. Defaults to |true| and in general
-# should only be overridden by mojom targets within the Mojo EDK.
-#
-# testonly (optional)
-#
-# visibility (optional)
-template("mojom") {
- 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.")
-
- cpp_sources_suffix = "cpp_sources"
- cpp_sources_target_name = "${target_name}_${cpp_sources_suffix}"
- 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_macros.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-internal.h.tmpl",
- "$generator_root/generators/cpp_templates/module.cc.tmpl",
- "$generator_root/generators/cpp_templates/module.h.tmpl",
- "$generator_root/generators/cpp_templates/struct_declaration.tmpl",
- "$generator_root/generators/cpp_templates/struct_definition.tmpl",
- "$generator_root/generators/cpp_templates/struct_macros.tmpl",
- "$generator_root/generators/cpp_templates/struct_serialization_declaration.tmpl",
- "$generator_root/generators/cpp_templates/struct_serialization_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_declaration.tmpl",
- "$generator_root/generators/cpp_templates/union_serialization_definition.tmpl",
- "$generator_root/generators/cpp_templates/validation_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/wrapper_union_class_declaration.tmpl",
- "$generator_root/generators/cpp_templates/wrapper_union_class_definition.tmpl",
- "$generator_root/generators/java_templates/constant_definition.tmpl",
- "$generator_root/generators/java_templates/constants.java.tmpl",
- "$generator_root/generators/java_templates/data_types_definition.tmpl",
- "$generator_root/generators/java_templates/enum_definition.tmpl",
- "$generator_root/generators/java_templates/enum.java.tmpl",
- "$generator_root/generators/java_templates/header.java.tmpl",
- "$generator_root/generators/java_templates/interface_definition.tmpl",
- "$generator_root/generators/java_templates/interface_internal.java.tmpl",
- "$generator_root/generators/java_templates/interface.java.tmpl",
- "$generator_root/generators/java_templates/struct.java.tmpl",
- "$generator_root/generators/java_templates/union.java.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_definition.tmpl",
- "$generator_root/generators/js_templates/struct_definition.tmpl",
- "$generator_root/generators/js_templates/union_definition.tmpl",
- "$generator_root/generators/js_templates/validation_macros.tmpl",
- "$generator_root/generators/mojom_cpp_generator.py",
- "$generator_root/generators/mojom_js_generator.py",
- "$generator_root/generators/mojom_java_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/constant_resolver.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_java_outputs =
- [ "{{source_gen_dir}}/{{source_name_part}}.mojom.srcjar" ]
- }
-
- rebased_mojo_sdk_public_deps = []
- if (defined(invoker.mojo_sdk_public_deps)) {
- foreach(sdk_dep, invoker.mojo_sdk_public_deps) {
- # Check that the SDK dep was not mistakenly given as an absolute path.
- assert(get_path_info(sdk_dep, "abspath") != sdk_dep)
- rebased_mojo_sdk_public_deps += [ rebase_path(sdk_dep, ".", mojo_root) ]
- }
- }
-
- rebased_mojo_sdk_deps = []
- if (defined(invoker.mojo_sdk_deps)) {
- foreach(sdk_dep, invoker.mojo_sdk_deps) {
- # Check that the SDK dep was not mistakenly given as an absolute path.
- assert(get_path_info(sdk_dep, "abspath") != sdk_dep)
- rebased_mojo_sdk_deps += [ rebase_path(sdk_dep, ".", mojo_root) ]
- }
- }
-
- if (defined(invoker.sources)) {
- generator_target_name = target_name + "__generator"
- action_foreach(generator_target_name) {
- script = generator_script
- inputs = generator_sources
- sources = invoker.sources
- outputs =
- generator_cpp_outputs + generator_java_outputs + generator_js_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),
- ]
- }
- }
- }
- }
-
- source_set(target_name) {
- if (defined(invoker.visibility)) {
- visibility = invoker.visibility
- }
- if (defined(invoker.testonly)) {
- testonly = invoker.testonly
- }
- if (defined(invoker.sources)) {
- data = process_file_template(invoker.sources, generator_js_outputs)
- }
-
- public_deps = rebase_path([ "mojo/public/cpp/bindings" ], ".", mojo_root)
- if (defined(invoker.sources)) {
- public_deps += [ ":${cpp_sources_target_name}" ]
- }
- public_deps += rebased_mojo_sdk_public_deps
- if (defined(invoker.public_deps)) {
- public_deps += invoker.public_deps
- }
-
- deps = []
- if (defined(invoker.sources)) {
- public_deps += [ ":$generator_target_name" ]
- }
- deps += rebased_mojo_sdk_deps
- if (defined(invoker.deps)) {
- deps += invoker.deps
- }
- if (defined(invoker.mojo_sdk_deps)) {
- foreach(sdk_dep, invoker.mojo_sdk_deps) {
- # Check that the SDK dep was not mistakenly given as an absolute path.
- assert(get_path_info(sdk_dep, "abspath") != sdk_dep)
- deps += [ rebase_path(sdk_dep, ".", mojo_root) ]
- }
- }
- }
-
- all_deps = rebased_mojo_sdk_deps + rebased_mojo_sdk_public_deps
- if (defined(invoker.deps)) {
- all_deps += invoker.deps
- }
- if (defined(invoker.public_deps)) {
- all_deps += invoker.public_deps
- }
-
- group("${target_name}__is_mojom") {
- }
-
- # Explicitly ensure that all dependencies (invoker.deps and
- # invoker.public_deps) are mojom targets themselves.
- group("${target_name}__check_deps_are_all_mojom") {
- deps = []
- foreach(d, all_deps) {
- name = get_label_info(d, "label_no_toolchain")
- toolchain = get_label_info(d, "toolchain")
- deps += [ "${name}__is_mojom(${toolchain})" ]
- }
- }
-
- if (defined(invoker.sources)) {
- # The generated C++ source files. The main reason to introduce this target
- # is so that mojo/public/cpp/bindings can depend on mojom interfaces without
- # circular dependencies. It means that the target is missing the dependency
- # on mojo/public/cpp/bindings. No external targets should depend directly on
- # this target *except* mojo/public/cpp/bindings and other *_cpp_sources
- # targets.
- source_set(cpp_sources_target_name) {
- if (defined(invoker.testonly)) {
- testonly = invoker.testonly
- }
- sources = process_file_template(invoker.sources, generator_cpp_outputs)
- deps = [
- ":$generator_target_name",
- "//base",
- rebase_path("mojo/public/interfaces/bindings:bindings__generator",
- ".",
- mojo_root),
- ]
- foreach(d, all_deps) {
- # Resolve the name, so that a target //mojo/something becomes
- # //mojo/something:something and we can append cpp_sources_suffix to
- # get the cpp dependency name.
- full_name = get_label_info(d, "label_no_toolchain")
- deps += [ "${full_name}_${cpp_sources_suffix}" ]
- }
- if (!defined(invoker.with_environment) || invoker.with_environment) {
- deps += [ "//mojo/environment:chromium" ]
- }
- }
- }
-
- if (is_android) {
- import("//build/config/android/rules.gni")
-
- java_srcjar_target_name = target_name + "_java_sources"
- action(java_srcjar_target_name) {
- script = rebase_path("mojo/public/tools/gn/zip.py", ".", mojo_root)
- inputs = process_file_template(invoker.sources, generator_java_outputs)
- output = "$target_gen_dir/$target_name.srcjar"
- outputs = [
- output,
- ]
- rebase_inputs = rebase_path(inputs, root_build_dir)
- rebase_output = rebase_path(output, root_build_dir)
- args = [
- "--zip-inputs=$rebase_inputs",
- "--output=$rebase_output",
- ]
- deps = [
- ":$generator_target_name",
- ]
- }
-
- java_target_name = target_name + "_java"
- android_library(java_target_name) {
- deps = rebase_path([
- "mojo/public/java:bindings",
- "mojo/public/java:system",
- ],
- ".",
- mojo_root)
-
- foreach(d, all_deps) {
- # Resolve the name, so that a target //mojo/something becomes
- # //mojo/something:something and we can append "_java" to get the java
- # dependency name.
- full_name = get_label_info(d, "label_no_toolchain")
- deps += [ "${full_name}_java" ]
- }
-
- srcjar_deps = [ ":$java_srcjar_target_name" ]
- }
- }
-}

Powered by Google App Engine
This is Rietveld 408576698