blob: 65fd8dbefb4fc193ebd21113f7d28e27bda99d25 [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("//build/package.gni")
import("//build/testing/environments.gni")
import("//peridot/build/executable_package.gni")
import("//peridot/build/tests_package.gni")
import("//third_party/flatbuffers/flatbuffer.gni")
declare_args() {
# Whether basemgr should automatically login as a persistent guest user.
auto_login_to_guest = false
# Whether basemgr and dev_base_shell should use account_manager for account
# creation. This is a temporary flag while modular transitions to use account
# manager.
use_account_manager = true
}
flatbuffer("users") {
sources = [
"users.fbs",
]
}
executable_package("basemgr") {
meta = [
{
path = "meta/basemgr.cmx"
dest = "basemgr.cmx"
},
]
sources = [
"basemgr_impl.cc",
"basemgr_impl.h",
"basemgr_settings.cc",
"basemgr_settings.h",
"main.cc",
]
deps = [
":lib",
":wait_for_minfs",
"//garnet/public/lib/component/cpp",
"//garnet/public/lib/fxl",
"//garnet/public/lib/json",
"//peridot/bin/basemgr/cobalt",
"//peridot/bin/basemgr/session_shell_settings",
"//peridot/lib/common:async_holder",
"//peridot/lib/common:teardown",
"//peridot/lib/fidl:app_client",
"//peridot/lib/fidl:array_to_string",
"//peridot/lib/fidl:clone",
"//peridot/lib/fidl:environment",
"//peridot/lib/ledger_client:constants",
"//peridot/lib/modular_config:modular_config",
"//peridot/public/lib/async/cpp:future",
"//sdk/fidl/fuchsia.auth",
"//sdk/fidl/fuchsia.auth.account",
"//sdk/fidl/fuchsia.devicesettings",
"//sdk/fidl/fuchsia.modular",
"//sdk/fidl/fuchsia.modular.auth",
"//sdk/fidl/fuchsia.modular.internal",
"//sdk/fidl/fuchsia.modular.session",
"//sdk/fidl/fuchsia.sys",
"//sdk/fidl/fuchsia.ui.app",
"//sdk/fidl/fuchsia.ui.policy",
"//sdk/fidl/fuchsia.ui.views",
"//sdk/fidl/fuchsia.wlan.service",
"//sdk/lib/ui/scenic/cpp",
"//src/lib/fxl",
"//zircon/public/lib/async-loop-cpp",
"//zircon/public/lib/trace-provider",
]
public_deps = [
"//peridot/bin/basemgr/cobalt:basemgr_metrics_registry",
]
resources = [
{
path = rebase_path(
get_label_info(
"//peridot/bin/basemgr/cobalt:basemgr_metrics_registry",
"target_gen_dir") + "/basemgr_metrics_registry.pb")
dest = "basemgr_metrics_registry.pb"
},
]
}
tests_package("basemgr_unittests") {
deps = [
":session_context_impl_unittest",
"//peridot/bin/basemgr/session_shell_settings:session_shell_settings_unittest",
]
environments = basic_envs
}
source_set("wait_for_minfs") {
sources = [
"wait_for_minfs.cc",
"wait_for_minfs.h",
]
public_deps = [
"//garnet/public/lib/fsl",
"//src/lib/fxl",
]
}
source_set("lib") {
sources = [
"presentation_container.cc",
"presentation_container.h",
"session_context_impl.cc",
"session_context_impl.h",
"session_provider.cc",
"session_provider.h",
"session_user_provider_impl.cc",
"session_user_provider_impl.h",
"user_provider_impl.cc",
"user_provider_impl.h",
]
deps = [
":users",
"//garnet/public/lib/component/cpp",
"//garnet/public/lib/fsl",
"//peridot/bin/basemgr/session_shell_settings",
"//peridot/lib/common:async_holder",
"//peridot/lib/common:teardown",
"//peridot/lib/fidl:app_client",
"//peridot/lib/fidl:array_to_string",
"//peridot/lib/fidl:clone",
"//peridot/lib/fidl:environment",
"//peridot/lib/fidl:json_xdr",
"//peridot/lib/modular_config",
"//peridot/public/lib/async/cpp:future",
"//sdk/fidl/fuchsia.modular.session",
"//sdk/fidl/fuchsia.sys",
"//sdk/fidl/fuchsia.ui.gfx",
"//sdk/fidl/fuchsia.ui.input",
"//sdk/fidl/fuchsia.ui.policy",
"//sdk/fidl/fuchsia.ui.views",
"//sdk/lib/ui/scenic/cpp",
"//src/lib/fxl",
"//zircon/public/lib/trace",
]
public_deps = [
"//sdk/fidl/fuchsia.auth",
"//sdk/fidl/fuchsia.auth.account",
"//sdk/fidl/fuchsia.modular",
"//sdk/fidl/fuchsia.modular.auth",
"//sdk/fidl/fuchsia.modular.internal",
]
if (auto_login_to_guest && use_account_manager) {
public_configs = [
":auto_login_to_guest",
":use_account_manager",
]
} else if (auto_login_to_guest) {
public_configs = [ ":auto_login_to_guest" ]
} else if (use_account_manager) {
public_configs = [ ":use_account_manager" ]
}
}
executable_package("dev_base_shell") {
meta = [
{
path = "meta/dev_base_shell.cmx"
dest = "dev_base_shell.cmx"
},
]
deps = [
":dev_base_shell_source_set",
]
}
source_set("dev_base_shell_source_set") {
sources = [
"dev_base_shell.cc",
]
deps = [
"//garnet/public/lib/callback",
"//peridot/lib/fidl:single_service_app",
"//peridot/public/lib/app_driver/cpp",
"//peridot/public/lib/integration_testing/cpp",
"//sdk/fidl/fuchsia.auth.account",
"//sdk/fidl/fuchsia.modular",
"//sdk/fidl/fuchsia.ui.viewsv1token",
"//src/lib/fxl",
"//zircon/public/lib/async-loop-cpp",
]
if (use_account_manager) {
public_configs = [ ":use_account_manager" ]
}
}
executable("session_context_impl_unittest") {
testonly = true
sources = [
"session_context_impl_unittest.cc",
]
deps = [
":lib",
"//garnet/public/lib/component/cpp",
"//garnet/public/lib/component/cpp/testing:fake_launcher",
"//garnet/public/lib/fsl",
"//garnet/public/lib/gtest",
"//peridot/lib/fidl:clone",
"//src/lib/fxl",
"//third_party/googletest:gtest_main",
]
}
config("auto_login_to_guest") {
defines = [ "AUTO_LOGIN_TO_GUEST" ]
}
config("use_account_manager") {
defines = [ "USE_ACCOUNT_MANAGER" ]
}