# 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")

rustc_library("validating-log-listener") {
  version = "0.1.0"
  edition = "2021"
  with_unit_tests = true

  visibility = [
    ":*",
    "//src/diagnostics/archivist/*",
    "//src/lib/syslog/rust/tests/*",
  ]

  deps = [
    "//sdk/fidl/fuchsia.logger:fuchsia.logger_rust",
    "//src/lib/fidl/rust/fidl",
    "//src/lib/fuchsia-async",
    "//third_party/rust_crates:futures",
  ]

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

group("tests") {
  testonly = true
  deps = []
}
