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

rustc_binary("bin") {
  edition = "2021"
  output_name = "bt-avdtp-tool"
  with_unit_tests = true

  deps = [
    "//sdk/fidl/fuchsia.bluetooth.avdtp.test:fuchsia.bluetooth.avdtp.test_rust",
    "//src/lib/fidl/rust/fidl",
    "//src/lib/fuchsia",
    "//src/lib/fuchsia-async",
    "//src/lib/fuchsia-component",
    "//src/lib/fuchsia-sync",
    "//third_party/rust_crates:anyhow",
    "//third_party/rust_crates:futures",
    "//third_party/rust_crates:rustyline",
    "//third_party/rust_crates:tracing",
  ]

  sources = [
    "src/commands.rs",
    "src/main.rs",
    "src/types.rs",
  ]

  configs -= [ "//build/config/rust/lints:allow_unused_results" ]
}

fuchsia_package("bt-avdtp-tool") {
  deps = [ ":bin" ]
}

fuchsia_unittest_package("bt-avdtp-tool-unittests") {
  deps = [ ":bin_test" ]
}

group("tests") {
  testonly = true
  deps = [ ":bt-avdtp-tool-unittests" ]
}
