blob: dd9dcdfb6e942109643d606b19ddefaffecb6fcc [file] [log] [blame]
# 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)
}
}