# 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/assembly/bootfs_files_for_assembly.gni")
import("//build/components.gni")
import("//build/config.gni")
import("//build/rust/rustc_binary.gni")
import("//build/rust/rustc_library.gni")
import("//build/rust/rustc_test.gni")
import("//build/testing/test_spec.gni")

group("tests") {
  testonly = true
  deps = [ ":remote-control-runner-tests" ]
}

rustc_binary("bin") {
  output_name = "remote_control_runner"
  edition = "2021"
  with_unit_tests = true

  deps = [
    "//src/developer/ffx/lib/compat_info:lib",
    "//src/developer/remote-control/fidl:fuchsia.developer.remotecontrol.connector_rust",
    "//src/lib/fdio",
    "//src/lib/fidl/rust/fidl",
    "//src/lib/fuchsia",
    "//src/lib/fuchsia-component",
    "//src/lib/versioning/version-history/rust:version-history",
    "//third_party/rust_crates:anyhow",
    "//third_party/rust_crates:argh",
    "//third_party/rust_crates:futures",
    "//third_party/rust_crates:serde_json",
    "//third_party/rust_crates:tracing",
  ]

  sources = [ "src/main.rs" ]

  test_deps = [
    "//sdk/fidl/fuchsia.developer.remotecontrol:fuchsia.developer.remotecontrol_rust",
    "//src/lib/fuchsia-async",
  ]
}

bootfs_files_for_assembly("bootfs") {
  deps = [ ":bin" ]
}

fuchsia_unittest_package("remote-control-runner-tests") {
  deps = [ ":bin_test" ]
}
