# Copyright 2021 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("package_list") {
  edition = "2021"
  name = "assembly_package_list"
  version = "0.1.0"
  with_unit_tests = true
  deps = [
    "//src/lib/fuchsia-url",
    "//src/sys/pkg/lib/fuchsia-hash",
    "//src/sys/pkg/lib/fuchsia-pkg",
    "//third_party/rust_crates:anyhow",
    "//third_party/rust_crates:serde_json",
  ]
  sources = [
    "src/lib.rs",
    "src/package_list.rs",
  ]
  test_deps = [ "//third_party/rust_crates:serde_json" ]
}
