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

rustc_library("cm_types") {
  with_unit_tests = true
  edition = "2021"
  deps = [
    "//sdk/fidl/fuchsia.component.decl:fuchsia.component.decl_rust",
    "//sdk/fidl/fuchsia.io:fuchsia.io_rust",
    "//src/lib/flyweights",
    "//src/storage/lib/vfs/rust/name",
    "//third_party/rust_crates:lazy_static",
    "//third_party/rust_crates:serde",
    "//third_party/rust_crates:thiserror",
    "//third_party/rust_crates:url",
  ]

  test_deps = [
    "//third_party/rust_crates:assert_matches",
    "//third_party/rust_crates:serde_json",
  ]

  sources = [ "src/lib.rs" ]
}

fuchsia_unittest_package("cm_types_tests") {
  deps = [ ":cm_types_test" ]
  test_specs = {
  }
}

group("tests") {
  testonly = true

  deps = [ ":cm_types_tests" ]
}
