# Copyright 2019 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")

if (is_host) {
  rustc_library("blackout-host") {
    edition = "2018"
    with_unit_tests = true
    deps = [
      "//third_party/rust_crates:anyhow",
      "//third_party/rust_crates:rand",
      "//third_party/rust_crates:structopt",
      "//third_party/rust_crates:thiserror",
    ]

    sources = [
      "src/integration.rs",
      "src/lib.rs",
      "src/steps.rs",
    ]
  }
}

group("tests") {
  testonly = true
  public_deps = [ ":blackout-host_test($host_toolchain)" ]
}
