# Copyright 2017 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_binary.gni")
import("//build/package.gni")

rustc_binary("bin") {
  name = "device_settings_manager"
  with_unit_tests = true
  edition = "2018"

  deps = [
    "//garnet/public/fidl/fuchsia.devicesettings:fuchsia.devicesettings-rustc",
    "//garnet/public/lib/fidl/rust/fidl",
    "//garnet/public/rust/fdio",
    "//garnet/public/rust/fuchsia-app",
    "//garnet/public/rust/fuchsia-async",
    "//garnet/public/rust/fuchsia-syslog",
    "//garnet/public/rust/fuchsia-zircon",
    "//third_party/rust-crates/rustc_deps:bytes",
    "//third_party/rust-crates/rustc_deps:failure",
    "//third_party/rust-crates/rustc_deps:futures-preview",
    "//third_party/rust-crates/rustc_deps:parking_lot",
    "//third_party/rust-crates/rustc_deps:tempfile",
  ]
}

package("device_settings_manager") {
  deprecated_bare_package_url = "//build"

  deps = [
    ":bin",
  ]

  binary = "rust_crates/device_settings_manager"

  meta = [
    {
      path = rebase_path("meta/device_settings_manager.cmx")
      dest = "device_settings_manager.cmx"
    },
  ]
}

package("device_settings_manager_tests") {
  testonly = true

  deps = [
    ":bin",
  ]

  tests = [
    {
      name = "device_settings_manager_bin_test"
    },
  ]
}
