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

rustc_library("lib") {
  testonly = true
  name = "netemul"
  edition = "2021"

  deps = [
    ":lib_includes",
    "//sdk/fidl/fuchsia.hardware.network:fuchsia.hardware.network_rust",
    "//sdk/fidl/fuchsia.io:fuchsia.io_rust",
    "//sdk/fidl/fuchsia.net:fuchsia.net_rust",
    "//sdk/fidl/fuchsia.net.dhcp:fuchsia.net.dhcp_rust",
    "//sdk/fidl/fuchsia.net.interfaces:fuchsia.net.interfaces_rust",
    "//sdk/fidl/fuchsia.net.interfaces.admin:fuchsia.net.interfaces.admin_rust",
    "//sdk/fidl/fuchsia.net.neighbor:fuchsia.net.neighbor_rust",
    "//sdk/fidl/fuchsia.net.root:fuchsia.net.root_rust",
    "//sdk/fidl/fuchsia.net.routes.admin:fuchsia.net.routes.admin_rust",
    "//sdk/fidl/fuchsia.net.stack:fuchsia.net.stack_rust",
    "//sdk/fidl/fuchsia.posix.socket:fuchsia.posix.socket_rust",
    "//sdk/fidl/fuchsia.posix.socket.packet:fuchsia.posix.socket.packet_rust",
    "//sdk/fidl/fuchsia.posix.socket.raw:fuchsia.posix.socket.raw_rust",
    "//src/connectivity/lib/fidl_fuchsia_net_stack_ext",
    "//src/connectivity/lib/net-declare",
    "//src/connectivity/lib/net-types",
    "//src/connectivity/lib/ping",
    "//src/connectivity/network/testing/netemul/fidl:fuchsia.netemul_rust",
    "//src/connectivity/network/testing/netemul/guest:fuchsia.netemul.guest_rust",
    "//src/connectivity/network/testing/netemul/network-context/fidl:network_rust",
    "//src/lib/fdio/rust:fdio",
    "//src/lib/fidl/rust/fidl",
    "//src/lib/fuchsia-async",
    "//src/lib/fuchsia-component",
    "//src/lib/network/fidl_fuchsia_net_dhcp_ext",
    "//src/lib/network/fidl_fuchsia_net_ext",
    "//src/lib/network/fidl_fuchsia_net_interfaces_ext",
    "//src/lib/network/fidl_fuchsia_net_routes_ext",
    "//src/lib/network/fidl_fuchsia_posix_socket_ext",
    "//src/lib/zircon/rust:fuchsia-zircon",
    "//src/virtualization/lib/guest_interaction:fuchsia.virtualization.guest.interaction_rust",
    "//third_party/rust_crates:anyhow",
    "//third_party/rust_crates:assert_matches",
    "//third_party/rust_crates:futures",
    "//third_party/rust_crates:futures-util",
    "//third_party/rust_crates:socket2",
    "//third_party/rust_crates:tracing",
  ]

  sources = [
    "src/guest.rs",
    "src/lib.rs",
  ]

  configs -= [ "//build/config/rust/lints:allow_unused_results" ]
}

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