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

if (is_host) {
  rustc_binary("bin") {
    name = "fvdl"
    edition = "2018"

    with_unit_tests = true
    test_environments = [ host_env ]

    deps = [
      "//src/lib/fuchsia-async",
      "//src/lib/fuchsia-hyper:fuchsia-hyper",
      "//third_party/rust_crates:ansi_term-v0_11_0",
      "//third_party/rust_crates:anyhow",
      "//third_party/rust_crates:argh",
      "//third_party/rust_crates:home",
      "//third_party/rust_crates:hyper",
      "//third_party/rust_crates:tempfile",
      "//third_party/rust_crates:zip",
    ]
    source_root = "src/main.rs"
    sources = [
      "src/args.rs",
      "src/cipd.rs",
      "src/main.rs",
      "src/portpicker.rs",
      "src/types.rs",
      "src/vdl_files.rs",
    ]
  }
}

install_host_tools("host") {
  deps = [ ":bin($host_toolchain)" ]
  outputs = [ "fvdl" ]
}

group("tests") {
  testonly = true
  deps = [ ":bin_test($host_toolchain)" ]
}
