# 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("//src/developer/ffx/build/ffx_plugin.gni")

ffx_plugin("ffx_doctor") {
  version = "0.1.0"
  edition = "2018"
  with_unit_tests = true
  deps = [
    "//sdk/fidl/fuchsia.developer.bridge:fuchsia.developer.bridge-rustc",
    "//sdk/fidl/fuchsia.developer.remotecontrol:fuchsia.developer.remotecontrol-rustc",
    "//src/connectivity/overnet/lib/hoist",
    "//src/developer/ffx:ffx_lib_args",
    "//src/developer/ffx/daemon:lib",
    "//src/lib/fidl/rust/fidl",
    "//src/lib/fuchsia-async",
    "//third_party/rust_crates:anyhow",
    "//third_party/rust_crates:argh",
    "//third_party/rust_crates:async-std",
    "//third_party/rust_crates:async-trait",
    "//third_party/rust_crates:futures",
    "//third_party/rust_crates:termion",
  ]

  sources = [
    "src/args.rs",
    "src/constants.rs",
    "src/daemon_manager.rs",
    "src/lib.rs",
  ]
}
