# Copyright 2022 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")

# This is an older style ffx plugin (as opposed to subtool) that is only used for blackout
# tests.
ffx_plugin("ffx_storage_blackout") {
  version = "0.1.0"
  edition = "2021"

  args_sources = [ "src/args.rs" ]

  plugin_deps = [ "//tools/blackout:ffx_storage_blackout" ]
}

ffx_tool("ffx_storage_blackout_tool") {
  edition = "2021"
  output_name = "ffx-storage-blackout"
  deps = [
    ":ffx_storage_blackout_suite",
    "//src/lib/fuchsia-async",
  ]
  sources = [ "src/main.rs" ]
}
