# 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")
import("//build/test/test_package.gni")

rustc_library("sysconfig-client") {
  with_unit_tests = true
  edition = "2018"

  deps = [
    "//sdk/fidl/fuchsia.mem:fuchsia.mem-rustc",
    "//sdk/fidl/fuchsia.paver:fuchsia.paver-rustc",
    "//src/lib/fidl/rust/fidl",
    "//src/lib/fuchsia-async",
    "//src/lib/fuchsia-component",
    "//src/lib/zerocopy",
    "//src/lib/zircon/rust:fuchsia-zircon",
    "//third_party/rust_crates:anyhow",
    "//third_party/rust_crates:crc",
    "//third_party/rust_crates:matches",
    "//third_party/rust_crates:serde",
    "//third_party/rust_crates:serde_json",
    "//third_party/rust_crates:thiserror",
  ]

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

test_package("sysconfig-client-test") {
  deps = [ ":sysconfig-client_test" ]
  tests = [
    {
      name = "sysconfig_client_lib_test"
      environments = basic_envs
    },
  ]
}
