blob: ba4c76d8a43e951cc375029506c89251346ac764 [file] [log] [blame]
# Copyright 2023 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_config") {
edition = "2024"
with_unit_tests = true
visibility = [
"//src/lib/assembly/component_manager_config:*",
"//src/security/lib/scrutiny/collection/*",
"//src/security/lib/scrutiny/collector/*",
"//src/security/lib/scrutiny/frontend/*",
"//src/security/lib/scrutiny/x/*",
"//src/sys/component_manager/*",
"//src/sys/lib/cm_config/*",
"//src/sys/lib/elf_runner/*",
"//src/sys/lib/routing/*",
"//tools/lib/cm_fidl_analyzer/*",
]
deps = [
"//sdk/fidl/fuchsia.component.decl:fuchsia.component.decl_rust",
"//sdk/fidl/fuchsia.component.internal:fuchsia.component.internal_rust",
"//src/lib/fidl/rust/fidl",
"//src/lib/versioning/version-history/rust",
"//src/sys/lib/cm_fidl_validator",
"//src/sys/lib/cm_rust",
"//src/sys/lib/cm_types",
"//src/sys/lib/moniker",
"//third_party/rust_crates:anyhow",
"//third_party/rust_crates:camino",
"//third_party/rust_crates:log",
"//third_party/rust_crates:thiserror",
]
test_deps = [
"//sdk/fidl/fuchsia.io:fuchsia.io_rust",
"//third_party/rust_crates:assert_matches",
]
# Some host tools use serde to serialize/deserialize moniker types. This
# dependency is guarded in code via #[cfg(feature = "serde")] and
# #[cfg_attr(feature = "serde", ...)] to prevent serde dependencies in
# non-host builds.
features = []
if (is_host) {
features += [ "serde" ]
deps += [ "//third_party/rust_crates:serde" ]
}
sources = [ "src/lib.rs" ]
}
fuchsia_unittest_package("cm_config_tests") {
deps = [ ":cm_config_test" ]
}
group("tests") {
testonly = true
deps = [ ":cm_config_tests" ]
}