# Copyright 2018 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/package.gni")
import("//build/rust/rustc_binary.gni")

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

  deps = [
    "//garnet/public/lib/fidl/rust/fidl",
    "//garnet/public/rust/fuchsia-async",
    "//garnet/public/rust/fuchsia-component",
    "//garnet/public/rust/fuchsia-syslog",
    "//garnet/public/rust/fuchsia-zircon",
    "//sdk/fidl/fuchsia.auth:fuchsia.auth-rustc",
    "//sdk/fidl/fuchsia.auth.account:fuchsia.auth.account-rustc",
    "//src/identity/fidl:account-rustc",
    "//src/identity/lib/account_common",
    "//src/identity/lib/token_manager",
    "//third_party/rust_crates:failure",
    "//third_party/rust_crates:futures-preview",
    "//third_party/rust_crates:lazy_static",
    "//third_party/rust_crates:log",
    "//third_party/rust_crates:parking_lot",
    "//third_party/rust_crates:rand",
    "//third_party/rust_crates:serde",
    "//third_party/rust_crates:serde_derive",
    "//third_party/rust_crates:serde_json",
    "//third_party/rust_crates:tempfile",
  ]
}

package("account_handler") {
  deps = [
    ":bin",
  ]

  binary = "rust_crates/account_handler"

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