blob: 2ee3c774e90088643f9ba5f1322f8518efa3ebc7 [file] [log] [blame]
# 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/packages/sdk_fuchsia_package.gni")
import("//build/rust/rustc_binary.gni")
rustc_binary("realm_builder_server_bin") {
edition = "2021"
name = "realm_builder_server"
with_unit_tests = true
sources = [
"src/builtin.rs",
"src/main.rs",
"src/resolver.rs",
"src/runner.rs",
]
deps = [
"//sdk/fidl/fuchsia.component:fuchsia.component_rust",
"//sdk/fidl/fuchsia.component.decl:fuchsia.component.decl_rust",
"//sdk/fidl/fuchsia.component.resolution:fuchsia.component.resolution_rust",
"//sdk/fidl/fuchsia.component.runner:fuchsia.component.runner_rust",
"//sdk/fidl/fuchsia.component.test:fuchsia.component.test_rust",
"//sdk/fidl/fuchsia.data:fuchsia.data_rust",
"//sdk/fidl/fuchsia.inspect:fuchsia.inspect_rust",
"//sdk/fidl/fuchsia.io:fuchsia.io_rust",
"//sdk/fidl/fuchsia.logger:fuchsia.logger_rust",
"//sdk/fidl/fuchsia.mem:fuchsia.mem_rust",
"//src/lib/fidl/rust/fidl",
"//src/lib/fuchsia",
"//src/lib/fuchsia-async",
"//src/lib/fuchsia-component",
"//src/lib/fuchsia-fs",
"//src/lib/versioning/version-history/rust:version-history",
"//src/lib/zircon/rust:fuchsia-zircon",
"//src/lib/zircon/rust:fuchsia-zircon-status",
"//src/storage/lib/vfs/rust:vfs",
"//src/sys/lib/cm_fidl_validator",
"//src/sys/lib/cm_rust",
"//src/sys/lib/cm_types",
"//src/sys/lib/config_encoder",
"//src/sys/lib/fidl-fuchsia-component-abi-ext",
"//src/sys/lib/mem_util",
"//third_party/rust_crates:anyhow",
"//third_party/rust_crates:futures",
"//third_party/rust_crates:lazy_static",
"//third_party/rust_crates:thiserror",
"//third_party/rust_crates:tracing",
"//third_party/rust_crates:url",
]
test_deps = [
"//src/sys/lib/cm_rust/testing",
"//third_party/rust_crates:assert_matches",
"//third_party/rust_crates:difference",
"//third_party/rust_crates:maplit",
"//third_party/rust_crates:test-case",
]
}
fuchsia_component("realm_builder_server_component") {
manifest = "meta/realm_builder_server.cml"
component_name = "realm_builder_server"
deps = [ ":realm_builder_server_bin" ]
}
fuchsia_component("realm_with_child") {
manifest = "meta/realm_with_child.cml"
}
fuchsia_component("a") {
manifest = "meta/a.cml"
}
fuchsia_unittest_package("realm_builder_server_unit_tests") {
manifest = "meta/unit-tests.cml"
deps = [
":a",
":realm_builder_server_bin_test",
":realm_with_child",
]
}
fuchsia_package("pkg") {
package_name = "fuchsia-component-test"
deps = [ ":realm_builder_server_component" ]
}
sdk_fuchsia_package("realm_builder_server_sdk") {
distribution_name = "realm_builder_server"
package_label = ":pkg"
category = "partner"
expected_files_exact = [ "meta/realm_builder_server.cm" ]
api_level_added = 15
}