# Copyright 2022 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("//tools/cmc/build/expect_includes.gni")

rustc_library("lib") {
  name = "netemul_sync"
  edition = "2021"
  deps = [
    ":lib_includes",
    "//src/connectivity/network/testing/netemul/sync-manager/fidl:sync_rust",
    "//src/lib/fidl/rust/fidl",
    "//src/lib/fuchsia-component",
    "//third_party/rust_crates:anyhow",
    "//third_party/rust_crates:futures-util",
    "//third_party/rust_crates:thiserror",
  ]
  sources = [ "src/lib.rs" ]
  configs -= [ "//build/config/rust/lints:allow_unused_results" ]
}

expect_includes("lib_includes") {
  includes = [ "//src/connectivity/network/testing/netemul/sync-manager/meta/client.shard.cml" ]
}
