# Copyright 2023 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/host.gni")
import("//build/rust/rustc_binary.gni")

rustc_binary("funnel_bin") {
  output_name = "funnel"
  edition = "2021"
  sources = [
    "src/logging.rs",
    "src/main.rs",
    "src/ssh.rs",
    "src/target.rs",
  ]
  with_unit_tests = true
  deps = [
    "//sdk/fidl/fuchsia.developer.ffx:fuchsia.developer.ffx_rust",
    "//src/developer/ffx/lib/addr:lib",
    "//src/developer/ffx/lib/logging:lib",
    "//src/developer/ffx/lib/mdns_discovery:lib",
    "//src/lib/fuchsia-async",
    "//third_party/rust_crates:anyhow",
    "//third_party/rust_crates:argh",
    "//third_party/rust_crates:lazy_static",
    "//third_party/rust_crates:rand",
    "//third_party/rust_crates:tracing",
    "//third_party/rust_crates:tracing-subscriber",
  ]
  test_deps = [
    "//sdk/fidl/fuchsia.net:fuchsia.net_rust",
    "//src/lib/fuchsia-async",
    "//third_party/rust_crates:pretty_assertions",
  ]
}

group("funnel") {
  testonly = true
  deps = [
    ":funnel_bin($host_toolchain)",
    ":funnel_bin_test($host_toolchain)",
  ]
}
