| # Copyright 2015 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. |
| |
| # Template to generate a dart embedder package. |
| # Required invoker inputs: |
| # String package (relative path to package e.g. mojo/public/interfaces/application) |
| template("dart_embedder_package") { |
| package = invoker.package |
| package_path = "//$package" |
| |
| destination = package |
| if (defined(invoker.destination)) { |
| destination = invoker.destination |
| } |
| |
| action_foreach(target_name) { |
| deps = [ |
| package_path, |
| ] |
| list_generated_bindings_script = |
| rebase_path( |
| "//mojo/dart/embedder/tools/dart_list_generated_bindings.py") |
| root_prefix = rebase_path("//") |
| source_directory = rebase_path(package_path) |
| generated_bindings = exec_script(list_generated_bindings_script, |
| [ |
| source_directory, |
| root_prefix, |
| ], |
| "list lines") |
| sources = rebase_path(generated_bindings, ".", root_gen_dir) |
| outputs = [ |
| "$root_gen_dir/dart_embedder_packages/$destination/{{source_file_part}}", |
| ] |
| script = rebase_path( |
| "//mojo/dart/embedder/tools/dart_rewrite_embedder_package_imports.py") |
| args = [ |
| rebase_path("{{source}}", "", root_build_dir), |
| rebase_path( |
| "$root_gen_dir/dart_embedder_packages/$destination/{{source_file_part}}"), |
| ] |
| } |
| } |
| |
| # Template to generate a dart embedder resource.cc file. |
| # Required invoker inputs: |
| # String output (name of output file) |
| # List inputs (list of input files to be included) |
| # String table_name (name of symbol for resource table) |
| # String root_prefix (base directory of resources) |
| # Optional invoker inputs: |
| # String input_directory (directory of resources that are recursively added) |
| # List deps |
| # List datadeps |
| template("dart_embedder_resources") { |
| action(target_name) { |
| script = "//dart/runtime/tools/create_resources.py" |
| deps = [] |
| if (defined(invoker.deps)) { |
| deps += invoker.deps |
| } |
| datadeps = [] |
| if (defined(invoker.datadeps)) { |
| datadeps = invoker.datadeps |
| } |
| |
| output = invoker.output |
| outputs = [ |
| output, |
| ] |
| |
| inputs = [ script ] + invoker.inputs |
| |
| root_prefix = rebase_path(invoker.root_prefix) |
| |
| args = [ |
| "--output", |
| rebase_path(output), |
| "--outer_namespace", |
| "mojo", |
| "--inner_namespace", |
| "dart", |
| "--table_name", |
| invoker.table_name, |
| "--root_prefix", |
| root_prefix, |
| ] |
| if (defined(invoker.input_directory)) { |
| args += [ |
| "--client_root", |
| rebase_path(invoker.input_directory), |
| ] |
| } |
| args += rebase_path(invoker.inputs) |
| } |
| } |