blob: 437d7f891e019d5112c7f79c17948bb7545fec79 [file] [log] [blame]
# Copyright 2025 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("//src/developer/ffx/build/ffx_plugin.gni")
import("//src/developer/ffx/build/ffx_tool.gni")
ffx_plugin("ffx_product_bundle") {
sdk_category = "partner"
version = "0.1.0"
edition = "2024"
plugin_deps = [
"bisect:ffx_product_bundle_bisect",
"create:ffx_product_bundle_create",
]
args_sources = [ "src/args.rs" ]
args_deps = [
"//src/developer/ffx/core:lib",
"//third_party/rust_crates:argh",
]
}
# When used in the build, this separate subtool version is used to avoid
# its build steps depending on all of ffx. In order to use it with ffx_action,
# you need to tell it to use the versioned executable target as follows:
#
# ffx_tool =
# "//src/developer/ffx/plugins/product_bundle:ffx_product_bundle_tool"
# ffx_tool_output_name = "ffx-product-bundle"
ffx_tool("ffx_product_bundle_tool") {
edition = "2024"
output_name = "ffx-product-bundle"
deps = [
":ffx_product_bundle_suite",
"//src/lib/fuchsia-async",
]
sources = [ "src/main.rs" ]
sdk_target_name = "sdk"
sdk_category = "partner"
# Avoid instrumenting this target as it has a large negative impact on performance.
exclude_toolchain_tags = [
"asan",
"coverage",
"profile",
]
}
group("product_bundle") {
public_deps = [
":ffx_product_bundle_tool",
":ffx_product_bundle_tool_host_tool",
]
}
group("bin") {
public_deps = [ ":ffx_product_bundle_tool_versioned" ]
}
group("tests") {
testonly = true
deps = [ ":ffx_product_bundle_tests($host_toolchain)" ]
}