blob: 76db90aa169a305fbb6c21091d89d43b932bd6b0 [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.
import("//build/python/python_action.gni")
# 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,
"--includes_execution",
invoker.includes_execution,
"--includes_subcommands",
includes_subcommands,
"--execution_lib",
invoker.execution_lib,
]
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,
]
}
python_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 ]
}
}