# 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/rust/rustc_library.gni")
import("//build/test/test_package.gni")
import("//build/testing/environments.gni")

rustc_library("fuchsia-archive") {
  with_unit_tests = true
  edition = "2018"
  deps = [
    "//third_party/rust_crates:anyhow",
    "//third_party/rust_crates:bincode",
    "//third_party/rust_crates:itertools",
    "//third_party/rust_crates:serde",
    "//third_party/rust_crates:serde_derive",
    "//third_party/rust_crates:tempfile",
  ]
}

unittest_package("fuchsia-archive-tests") {
  deps = [ ":fuchsia-archive_test" ]

  tests = [
    {
      name = "fuchsia_archive_lib_test"
      environments = basic_envs
    },
  ]
}

group("tests") {
  testonly = true
  public_deps = [ ":fuchsia-archive-tests" ]
}
