blob: 2e98b74170e4fa26fcf2f97b8dc2db8527f2a510 [file] [log] [blame]
# Copyright 2020 The Fuchsia Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
# Generates FFX subcommand with a plugin commands
#
template("plugins") {
output_name = target_name
if (defined(invoker.output_name)) {
output_name = invoker.output_name
}
includes_subcommands = false
if (defined(invoker.plugin_deps)) {
includes_subcommands = true
}
includes_execution = false
if (defined(invoker.includes_execution)) {
includes_execution = invoker.includes_execution
}
generated_file = "$target_gen_dir/" + output_name
script_args = [
"--out",
rebase_path(generated_file),
"--args",
invoker.args,
"--execution_lib",
invoker.execution_lib,
]
if (includes_execution) {
script_args += [
"--includes_execution",
"true",
]
}
if (includes_subcommands) {
script_args += [
"--includes_subcommands",
"true",
]
}
if (defined(invoker.plugin_deps)) {
libraries = []
foreach(dep, invoker.plugin_deps) {
libraries += [ get_label_info(dep, "name") ]
}
lib_str = string_join(",", libraries)
script_args += [
"--deps",
lib_str,
]
}
if (defined(invoker.sub_command)) {
script_args += [
"--sub_command",
invoker.sub_command,
]
}
action(target_name) {
script = "//src/developer/ffx/build/gn_generate_plugins.py"
args = script_args
# Rebuild if the template changes
inputs = [ "//src/developer/ffx/build/templates/plugins.md" ]
outputs = [ generated_file ]
}
}