# 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")

package("dev_auth_providers") {
  testonly = true
  deps = [
    ":dev_auth_provider",
    ":dev_auth_provider_iotid",
  ]

  binaries = [
    {
      name = "rust_crates/dev_auth_provider"
    },
    {
      name = "rust_crates/dev_auth_provider_iotid"
    },
  ]

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