blob: 206a5074abf5a132fdcace12d29640a425dc6fa4 [file] [log] [blame]
# Copyright 2016 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("//src/sys/build/components.gni")
executable("sessionmgr_bin") {
output_name = "sessionmgr"
sources = [ "sessionmgr.cc" ]
deps = [
":sessionmgr_lib",
"//sdk/fidl/fuchsia.modular.internal",
"//sdk/lib/fidl/cpp",
"//sdk/lib/sys/inspect/cpp",
"//sdk/lib/syslog/cpp",
"//src/modular/bin/basemgr/cobalt",
"//src/modular/lib/app_driver/cpp:app_driver",
"//src/modular/lib/modular_config",
"//zircon/system/ulib/async-loop:async-loop-cpp",
"//zircon/system/ulib/async-loop:async-loop-default",
"//zircon/system/ulib/trace-provider:trace-provider-with-fdio",
]
}
fuchsia_package_with_single_component("sessionmgr") {
manifest = "meta/sessionmgr.cmx"
deps = [ ":sessionmgr_bin" ]
}
source_set("sessionmgr_lib") {
sources = [
"argv_injecting_launcher.cc",
"argv_injecting_launcher.h",
"element_controller_impl.cc",
"element_controller_impl.h",
"element_manager_impl.cc",
"element_manager_impl.h",
"sessionmgr_impl.cc",
"sessionmgr_impl.h",
]
public_deps = [
":startup_agent_launcher",
"//sdk/fidl/fuchsia.element",
"//sdk/fidl/fuchsia.modular",
"//sdk/fidl/fuchsia.modular.internal",
"//sdk/fidl/fuchsia.modular.session",
"//sdk/fidl/fuchsia.session",
"//sdk/fidl/fuchsia.sys",
"//sdk/fidl/fuchsia.ui.app",
"//sdk/fidl/fuchsia.ui.policy",
"//sdk/fidl/fuchsia.ui.scenic",
"//sdk/fidl/fuchsia.ui.views",
"//src/modular/bin/sessionmgr/agent_runner",
"//src/modular/lib/deprecated_service_provider",
"//src/modular/lib/fidl:view_host",
"//src/modular/lib/scoped_tmpfs",
]
deps = [
":annotations",
":component_context",
":session_ctl",
":startup_agent_launcher",
"//sdk/lib/fidl/cpp",
"//sdk/lib/sys/cpp",
"//sdk/lib/sys/inspect/cpp",
"//sdk/lib/ui/scenic/cpp",
"//src/lib/fsl",
"//src/lib/uuid",
"//src/modular/bin/basemgr/cobalt",
"//src/modular/bin/sessionmgr/puppet_master:make_production_impl",
"//src/modular/bin/sessionmgr/puppet_master:puppet_master_impl",
"//src/modular/bin/sessionmgr/puppet_master:story_command_executor",
"//src/modular/bin/sessionmgr/storage",
"//src/modular/bin/sessionmgr/story_runner",
"//src/modular/lib/app_driver/cpp:app_driver",
"//src/modular/lib/async/cpp:operation",
"//src/modular/lib/common:async_holder",
"//src/modular/lib/common:teardown",
"//src/modular/lib/fidl:app_client",
"//src/modular/lib/fidl:array_to_string",
"//src/modular/lib/fidl:clone",
"//src/modular/lib/fidl:environment",
"//src/modular/lib/fidl:json_xdr",
"//src/modular/lib/modular_config",
"//src/modular/lib/modular_config:modular_config_accessor",
]
# TODO(fxb/58162): delete the below and fix compiler warnings
configs += [ "//build/config:Wno-conversion" ]
}
executable("dev_session_shell_bin") {
output_name = "dev_session_shell"
sources = [ "dev_session_shell.cc" ]
deps = [
"//sdk/fidl/fuchsia.modular",
"//sdk/fidl/fuchsia.ui.scenic",
"//sdk/fidl/fuchsia.ui.views",
"//sdk/lib/fidl/cpp",
"//src/modular/lib/app_driver/cpp",
"//src/modular/lib/fidl:array_to_string",
"//src/modular/lib/fidl:single_service_app",
"//src/modular/lib/fidl:view_host",
"//src/modular/lib/testing:test_driver",
"//zircon/system/ulib/async-loop:async-loop-cpp",
"//zircon/system/ulib/async-loop:async-loop-default",
]
}
fuchsia_package_with_single_component("dev_session_shell") {
manifest = "meta/dev_session_shell.cmx"
deps = [ ":dev_session_shell_bin" ]
}
source_set("session_ctl") {
sources = [
"session_ctl.cc",
"session_ctl.h",
]
deps = [
"//sdk/lib/vfs/cpp",
"//src/lib/fsl",
"//src/modular/bin/sessionmgr/puppet_master:puppet_master_impl",
"//zircon/system/ulib/fs",
]
}
source_set("component_context") {
sources = [
"component_context_impl.cc",
"component_context_impl.h",
]
public_deps = [ "//sdk/fidl/fuchsia.modular" ]
deps = [
"//src/lib/fsl",
"//src/modular/bin/sessionmgr/agent_runner:public",
"//src/modular/lib/async/cpp:operation",
"//src/modular/lib/fidl:array_to_string",
"//src/modular/lib/fidl:json_xdr",
]
}
source_set("agent_services_factory") {
sources = [ "agent_services_factory.h" ]
public_deps = [ "//sdk/fidl/fuchsia.sys" ]
}
source_set("startup_agent_launcher") {
sources = [
"startup_agent_launcher.cc",
"startup_agent_launcher.h",
]
public_deps = [
"//garnet/public/lib/svc/cpp",
"//sdk/lib/sys/cpp",
]
deps = [
":agent_services_factory",
":rate_limited_retry",
"agent_runner",
"//sdk/fidl/fuchsia.element",
"//sdk/fidl/fuchsia.intl",
"//sdk/fidl/fuchsia.modular",
"//sdk/lib/syslog/cpp",
"//sdk/lib/syslog/cpp:backend_legacy",
"//src/modular/lib/connect",
"//src/modular/lib/modular_config:modular_config_accessor",
]
}
source_set("rate_limited_retry") {
sources = [
"rate_limited_retry.cc",
"rate_limited_retry.h",
]
public_deps = [ "//zircon/public/lib/zx" ]
}
source_set("annotations") {
sources = [
"annotations.cc",
"annotations.h",
]
deps = [
"//sdk/lib/syslog/cpp",
"//src/lib/fxl",
"//src/modular/lib/string_escape",
]
public_deps = [
"//sdk/fidl/fuchsia.element",
"//sdk/fidl/fuchsia.modular",
"//sdk/fidl/fuchsia.session",
]
}
executable("element_manager_impl_unittest") {
testonly = true
sources = [ "element_manager_impl_unittest.cc" ]
deps = [
":annotations",
":sessionmgr_lib",
"//src/lib/fxl/test:gtest_main",
"//src/modular/bin/sessionmgr/testing:annotations_matchers",
"//src/modular/lib/testing:test_with_session_storage",
"//third_party/googletest:gmock",
"//third_party/googletest:gtest",
]
}
fuchsia_unittest_component("element-manager-impl-unittest") {
deps = [ ":element_manager_impl_unittest" ]
}
executable("element_controller_impl_unittest") {
testonly = true
sources = [ "element_controller_impl_unittest.cc" ]
deps = [
":annotations",
":sessionmgr_lib",
"//src/lib/fxl/test:gtest_main",
"//src/modular/bin/sessionmgr/testing:annotations_matchers",
"//src/modular/lib/testing:test_with_session_storage",
"//third_party/googletest:gmock",
"//third_party/googletest:gtest",
]
}
fuchsia_unittest_component("element-controller-impl-unittest") {
deps = [ ":element_controller_impl_unittest" ]
}
executable("annotations_unittest") {
testonly = true
sources = [ "annotations_unittest.cc" ]
deps = [
":annotations",
"//src/lib/fxl/test:gtest_main",
"//src/modular/bin/sessionmgr/testing:annotations_matchers",
"//third_party/googletest:gmock",
"//third_party/googletest:gtest",
]
}
fuchsia_unittest_component("annotations-unittest") {
deps = [ ":annotations_unittest" ]
}
fuchsia_test_package("sessionmgr_unittests") {
test_components = [
":annotations-unittest",
":element-controller-impl-unittest",
":element-manager-impl-unittest",
]
}