# 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 = [
    "//src/lib/fuchsia",
    "//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"
}
