blob: b734897766bfde7b0d46316486e377fab027fa7b [file] [log] [blame]
# 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/components.gni")
import("//src/sys/core/build/core_shard.gni")
group("packages") {
deps = [
":debian_guest_manager",
":termina_guest_manager",
":zircon_guest_manager",
]
}
group("tests") {
testonly = true
deps = [ ":guest_manager_test" ]
}
source_set("lib") {
visibility = [ ":*" ]
sources = [
"guest_manager.cc",
"guest_manager.h",
]
public_deps = [
"//sdk/fidl/fuchsia.virtualization",
"//sdk/lib/sys/cpp",
"//src/lib/fxl",
"//src/virtualization/lib/guest_config",
]
}
executable("bin") {
output_name = "guest_manager"
sources = [ "guest_manager_main.cc" ]
deps = [
":lib",
"//zircon/system/ulib/async-loop:async-loop-cpp",
"//zircon/system/ulib/async-loop:async-loop-default",
]
}
fuchsia_package("zircon_guest_manager") {
deps = [ ":zircon_guest_manager_cmp" ]
}
fuchsia_component("zircon_guest_manager_cmp") {
manifest = "meta/zircon_guest_manager.cml"
deps = [ ":bin" ]
component_name = "zircon_guest_manager"
}
fuchsia_package("debian_guest_manager") {
deps = [ ":debian_guest_manager_cmp" ]
}
fuchsia_component("debian_guest_manager_cmp") {
manifest = "meta/debian_guest_manager.cml"
deps = [ ":bin" ]
component_name = "debian_guest_manager"
}
fuchsia_package("termina_guest_manager") {
deps = [ ":termina_guest_manager_cmp" ]
}
fuchsia_component("termina_guest_manager_cmp") {
manifest = "meta/termina_guest_manager.cml"
deps = [ ":bin" ]
component_name = "termina_guest_manager"
}
executable("guest_manager_test_bin") {
testonly = true
sources = [ "guest_manager_test.cc" ]
deps = [
":lib",
"//sdk/lib/sys/cpp/testing:unit",
"//src/lib/fxl/test:gtest_main",
"//src/lib/testing/loop_fixture",
"//src/testing/fidl:placeholders",
]
}
resource("test_configs") {
sources = [
"test_files/bad_schema_invalid_field.cfg",
"test_files/valid_guest.cfg",
]
outputs = [ "data/configs/{{source_file_part}}" ]
}
fuchsia_unittest_package("guest_manager_test") {
deps = [
":guest_manager_test_bin",
":test_configs",
]
test_specs = {
log_settings = {
max_severity = "ERROR"
}
}
}
core_shard("debian_core_shard") {
shard_file = "meta/debian_guest_manager.core_shard.cml"
}
core_shard("termina_core_shard") {
shard_file = "meta/termina_guest_manager.core_shard.cml"
}
core_shard("zircon_core_shard") {
shard_file = "meta/zircon_guest_manager.core_shard.cml"
}