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

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

  deps = [
    "//examples/diagnostics/inspect/codelab/fidl:fuchsia.examples.inspect-rustc",
    "//src/lib/fidl/rust/fidl",
    "//src/lib/fuchsia-async",
    "//src/lib/fuchsia-component",

    # [START part_1_solution_build_dep]
    "//src/lib/diagnostics/inspect/rust",
    "//src/lib/syslog/rust:syslog",
    "//src/lib/zircon/rust:fuchsia-zircon",

    # [END part_1_solution_build_dep]
    "//third_party/rust_crates:anyhow",
    "//third_party/rust_crates:futures",
  ]

  sources = [
    "src/main.rs",
    "src/reverser.rs",
  ]
}
