# 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("//src/sys/build/fuchsia_unittest_package.gni")

rustc_library("pseudo-fs") {
  name = "fuchsia_vfs_pseudo_fs"
  version = "0.1.0"
  with_unit_tests = true
  edition = "2018"

  deps = [
    "//sdk/fidl/fuchsia.io:fuchsia.io-rustc",
    "//sdk/fidl/fuchsia.mem:fuchsia.mem-rustc",
    "//src/lib/fidl/rust/fidl",
    "//src/lib/fuchsia-async",
    "//src/lib/storage/pseudo-fs/macros",
    "//src/lib/zircon/rust:fuchsia-zircon",
    "//third_party/rust_crates:anyhow",
    "//third_party/rust_crates:byteorder",
    "//third_party/rust_crates:futures",
    "//third_party/rust_crates:itertools",
    "//third_party/rust_crates:libc",
    "//third_party/rust_crates:pin-utils",
    "//third_party/rust_crates:proc-macro-hack",
    "//third_party/rust_crates:proc-macro-nested",
    "//third_party/rust_crates:static_assertions",
    "//third_party/rust_crates:thiserror",
    "//third_party/rust_crates:void",
  ]

  sources = [
    "src/common.rs",
    "src/directory/common.rs",
    "src/directory/connection.rs",
    "src/directory/controllable.rs",
    "src/directory/controlled.rs",
    "src/directory/entry.rs",
    "src/directory/lazy.rs",
    "src/directory/mod.rs",
    "src/directory/simple.rs",
    "src/directory/test_utils.rs",
    "src/directory/traversal_position.rs",
    "src/directory/watchers.rs",
    "src/file/asynchronous.rs",
    "src/file/common.rs",
    "src/file/connection.rs",
    "src/file/mod.rs",
    "src/file/simple.rs",
    "src/file/test_utils.rs",
    "src/lib.rs",
    "src/pseudo_directory.rs",
    "src/test_utils.rs",
    "src/tree_builder.rs",
  ]
}

fuchsia_unittest_package("pseudo-fs-tests") {
  v2 = true
  deps = [ ":pseudo-fs_test" ]
}

group("tests") {
  testonly = true
  deps = [ ":pseudo-fs-tests" ]
}
