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

rustc_library("clonable_error") {
  with_unit_tests = true

  # Please do not add new usages of ClonableError
  # Please ask bwb@ or geb@ for context before adding
  # to this list.
  visibility = [
    ":*",
    ":tests",
    "//src/fonts:*",
    "//src/fonts/manifest:*",
    "//src/sys/component_manager:*",
    "//src/sys/lib/routing:*",
  ]

  edition = "2018"

  deps = [
    "//third_party/rust_crates:anyhow",
    "//third_party/rust_crates:thiserror",
  ]

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

fuchsia_unittest_package("clonable_error_tests") {
  deps = [ ":clonable_error_test" ]
}

group("tests") {
  testonly = true
  public_deps = [ ":clonable_error_tests" ]
}
