# Copyright 2022 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/host.gni")
import("//build/rust/rustc_library.gni")

assert(is_host, "Assembly libraries are host-only")

rustc_library("config_data") {
  edition = "2021"
  name = "assembly_config_data"
  version = "0.1.0"
  with_unit_tests = true
  deps = [
    "//src/lib/assembly/util",
    "//src/sys/pkg/lib/fuchsia-pkg",
    "//third_party/rust_crates:anyhow",
    "//third_party/rust_crates:camino",
  ]
  test_deps = [
    "//src/sys/pkg/lib/far/rust:fuchsia-archive",
    "//third_party/rust_crates:tempfile",
  ]
  sources = [
    "src/config_data.rs",
    "src/lib.rs",
  ]
}
