# Copyright 2018 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/package.gni")
import("//build/rust/rustc_binary.gni")

rustc_binary("bin") {
  name = "net_cli"
  with_unit_tests = true
  edition = "2018"

  deps = [
    "//garnet/lib/rust/fidl_fuchsia_net_stack_ext",
    "//garnet/lib/rust/netfilter",
    "//garnet/public/lib/fidl/rust/fidl",
    "//garnet/public/rust/fdio",
    "//garnet/public/rust/fuchsia-async",
    "//garnet/public/rust/fuchsia-component",
    "//garnet/public/rust/fuchsia-zircon",
    "//sdk/fidl/fuchsia.net.filter:fuchsia.net.filter-rustc",
    "//third_party/rust_crates:clap",
    "//third_party/rust_crates:failure",
    "//third_party/rust_crates:futures-preview",
    "//third_party/rust_crates:structopt",
    "//zircon/public/fidl/fuchsia-hardware-ethernet:fuchsia-hardware-ethernet-rustc",
    "//zircon/public/fidl/fuchsia-net:fuchsia-net-rustc",
    "//zircon/public/fidl/fuchsia-net-stack:fuchsia-net-stack-rustc",
  ]
}

package("net-cli") {
  deps = [
    ":bin",
  ]

  binaries = [
    {
      name = "net_cli"
      shell = true
    },
  ]
}
