# Copyright 2020 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_library.gni")
import("//build/rust/rustc_test.gni")

rustc_library("moniker") {
  with_unit_tests = true
  edition = "2018"

  visibility = [
    "//src/sys/component_manager/*",
    "//src/sys/lib/component_id_index/*",
    "//src/sys/lib/moniker/*",
    "//src/sys/lib/routing/*",
    "//tools/component_id_index/*",
    "//tools/lib/cm_fidl_analyzer/*",
  ]

  deps = [
    "//third_party/rust_crates:itertools",
    "//third_party/rust_crates:log",
    "//third_party/rust_crates:thiserror",
  ]

  test_deps = [ "//third_party/rust_crates:anyhow" ]

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

fuchsia_unittest_package("moniker-tests") {
  deps = [ ":moniker_test" ]
}
