# 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/components.gni")
import("//build/config.gni")
import("//build/rust/rustc_binary.gni")
import("//src/sys/core/build/core_shard.gni")

rustc_binary("bin") {
  output_name = "factory_reset_trigger"
  with_unit_tests = true
  edition = "2018"

  deps = [
    "//sdk/fidl/fuchsia.recovery:fuchsia.recovery-rustc",
    "//src/lib/fuchsia-async",
    "//src/lib/syslog/rust:syslog",
    "//src/sys/pkg/lib/forced-fdr",
    "//third_party/rust_crates:anyhow",
  ]

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

fuchsia_package_with_single_component("factory-reset-trigger") {
  manifest = "meta/factory-reset-trigger.cml"
  deps = [ ":bin" ]
}

core_shard("factory-reset-trigger-core-shard") {
  shard_file = "meta/factory-reset-trigger.core_shard.cml"
}
