# Copyright 2018 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/package.gni")
import("//build/rust/rustc_library.gni")
import("//build/test/test_package.gni")

rustc_library("fuchsia-bluetooth") {
  name = "fuchsia_bluetooth"
  version = "0.1.0"
  edition = "2018"
  with_unit_tests = true

  deps = [
    "//garnet/public/rust/fdio",
    "//garnet/public/rust/fuchsia-zircon",
    "//sdk/fidl/fuchsia.bluetooth:fuchsia.bluetooth-rustc",
    "//sdk/fidl/fuchsia.bluetooth.control:fuchsia.bluetooth.control-rustc",
    "//sdk/fidl/fuchsia.bluetooth.host:fuchsia.bluetooth.host-rustc",
    "//third_party/rust-crates/rustc_deps:failure",
    "//third_party/rust-crates/rustc_deps:lazy_static",
    "//third_party/rust-crates/rustc_deps:rand",
    "//zircon/public/fidl/fuchsia-device-test:fuchsia-device-test-rustc",
  ]
}

# TODO(BLD-338): Rename target to the less-redundant "tests" when target names
# no longer have to match package names.
test_package("bluetooth-crate-tests") {
  deps = [
    ":fuchsia-bluetooth",
  ]

  tests = [
    {
      name = "fuchsia_bluetooth_lib_test"
      dest = "bluetooth-crate-unittests"
    },
  ]
}
