# 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/rust/rustc_library.gni")

if (is_host) {
  rustc_library("lib") {
    name = "ffx_daemon_core"
    version = "0.1.0"
    edition = "2021"
    with_unit_tests = true

    deps = [
      "//src/developer/ffx/lib/stream_util:lib",
      "//src/developer/ffx/lib/timeout:lib",
      "//src/lib/fuchsia-async",
      "//third_party/rust_crates:anyhow",
      "//third_party/rust_crates:async-channel",
      "//third_party/rust_crates:async-lock",
      "//third_party/rust_crates:async-trait",
      "//third_party/rust_crates:futures",
      "//third_party/rust_crates:log",
      "//third_party/rust_crates:pin-project",
      "//third_party/rust_crates:tracing",
    ]

    sources = [
      "src/events.rs",
      "src/lib.rs",
    ]
  }
}

group("tests") {
  testonly = true
  deps = [ ":lib_test($host_toolchain)" ]
}
