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

rustc_binary("bin") {
  output_name = "bt-le-peripheral"
  with_unit_tests = true

  deps = [
    "//sdk/fidl/fuchsia.bluetooth:fuchsia.bluetooth-rustc",
    "//sdk/fidl/fuchsia.bluetooth.le:fuchsia.bluetooth.le-rustc",
    "//src/connectivity/bluetooth/lib/fuchsia-bluetooth",
    "//src/lib/fidl/rust/fidl",
    "//src/lib/fuchsia-async",
    "//src/lib/fuchsia-component",
    "//third_party/rust_crates:anyhow",
    "//third_party/rust_crates:base64",
    "//third_party/rust_crates:futures",
    "//third_party/rust_crates:pin-utils",
    "//third_party/rust_crates:structopt",
    "//third_party/rust_crates:thiserror",
  ]

  sources = [ "src/main.rs" ]
}

fuchsia_shell_package("bt-le-peripheral") {
  deps = [ ":bin" ]
}

fuchsia_unittest_package("bt-le-peripheral-unittests") {
  manifest = "meta/bt-le-peripheral-unittests.cmx"
  deps = [ ":bin_test" ]
}

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