| # Copyright 2021 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/config.gni") |
| import("//build/dart/dart_library.gni") |
| import("//build/fidl/fidl.gni") |
| import("//build/flutter/flutter_component.gni") |
| import("//build/testing/flutter_driver.gni") |
| |
| declare_args() { |
| # TODO(http://fxb/85576): Whether or not to launch OOBE workflow on startup. |
| # This feature is still WIP but you can turn it on at your own risk. |
| start_oobe = false |
| } |
| |
| dart_library("lib") { |
| package_name = "login" |
| null_safe = true |
| |
| entrypoints = [ |
| "main.dart", |
| "test_main.dart", |
| ] |
| |
| services = [ |
| "src/services/auth_service.dart", |
| "src/services/channel_service.dart", |
| "src/services/device_service.dart", |
| "src/services/privacy_consent_service.dart", |
| "src/services/shell_service.dart", |
| "src/services/ssh_keys_service.dart", |
| ] |
| |
| states = [ |
| "src/states/oobe_state.dart", |
| "src/states/oobe_state_impl.dart", |
| ] |
| |
| widgets = [ |
| "src/widgets/app.dart", |
| "src/widgets/ermine.dart", |
| "src/widgets/header.dart", |
| "src/widgets/oobe.dart", |
| "src/widgets/channels.dart", |
| "src/widgets/data_sharing.dart", |
| "src/widgets/login.dart", |
| "src/widgets/password.dart", |
| "src/widgets/ready.dart", |
| "src/widgets/ssh_keys.dart", |
| ] |
| |
| sources = entrypoints + services + states + widgets |
| |
| deps = [ |
| "//sdk/dart/fidl", |
| "//sdk/dart/fuchsia_inspect", |
| "//sdk/dart/fuchsia_internationalization_flutter", |
| "//sdk/dart/fuchsia_logger", |
| "//sdk/dart/fuchsia_scenic_flutter", |
| "//sdk/dart/fuchsia_services", |
| "//sdk/dart/fuchsia_vfs", |
| "//sdk/dart/zircon", |
| "//sdk/fidl/fuchsia.component", |
| "//sdk/fidl/fuchsia.component.decl", |
| "//sdk/fidl/fuchsia.element", |
| "//sdk/fidl/fuchsia.feedback", |
| "//sdk/fidl/fuchsia.hardware.power.statecontrol", |
| "//sdk/fidl/fuchsia.identity.account", |
| "//sdk/fidl/fuchsia.intl", |
| "//sdk/fidl/fuchsia.io", |
| "//sdk/fidl/fuchsia.mem", |
| "//sdk/fidl/fuchsia.recovery", |
| "//sdk/fidl/fuchsia.settings", |
| "//sdk/fidl/fuchsia.ssh", |
| "//sdk/fidl/fuchsia.sys", |
| "//sdk/fidl/fuchsia.ui.app", |
| "//sdk/fidl/fuchsia.ui.focus", |
| "//sdk/fidl/fuchsia.ui.scenic", |
| "//sdk/fidl/fuchsia.ui.views", |
| "//sdk/fidl/fuchsia.update.channelcontrol", |
| "//src/experiences/session_shells/ermine/internationalization", |
| "//src/experiences/session_shells/ermine/utils:ermine_utils", |
| "//third_party/dart-pkg/git/flutter/packages/flutter", |
| "//third_party/dart-pkg/git/flutter/packages/flutter_driver", |
| "//third_party/dart-pkg/git/flutter/packages/flutter_localizations", |
| "//third_party/dart-pkg/git/flutter/packages/flutter_test", |
| "//third_party/dart-pkg/pub/async", |
| "//third_party/dart-pkg/pub/flutter_mobx", |
| "//third_party/dart-pkg/pub/intl", |
| "//third_party/dart-pkg/pub/mobx", |
| ] |
| } |
| |
| flutter_component("component") { |
| if (flutter_driver_enabled) { |
| main_dart = "test_main.dart" |
| } else { |
| main_dart = "main.dart" |
| } |
| |
| component_name = "login" |
| |
| manifest = "meta/login.cml" |
| |
| deps = [ |
| ":images", |
| ":lib", |
| ":resources", |
| ] |
| |
| if (start_oobe) { |
| deps += [ ":oobe_config" ] |
| } else { |
| deps += [ ":default_config" ] |
| } |
| } |
| |
| resource("resources") { |
| sources = [ |
| "config/privacy_policy.txt", |
| rebase_path( |
| "//prebuilt/third_party/dart/${host_platform}/bin/resources/devtools/assets/fonts/MaterialIcons-Regular.otf"), |
| ] |
| |
| outputs = [ "data/{{source_file_part}}" ] |
| } |
| |
| # With the default config, OOBE will be skipped on startup. |
| config_data("default_config") { |
| for_pkg = "ermine" |
| |
| sources = [ |
| "//src/experiences/session_shells/ermine/login/config/default_config.json", |
| ] |
| outputs = [ "startup_config.json" ] |
| } |
| |
| # With the OOBE config, OOBE will launch at startup. |
| config_data("oobe_config") { |
| for_pkg = "ermine" |
| |
| sources = [ |
| "//src/experiences/session_shells/ermine/login/config/oobe_config.json", |
| ] |
| outputs = [ "startup_config.json" ] |
| } |
| |
| config_data("images") { |
| for_pkg = "ermine" |
| |
| sources = rebase_path([ "images/Fuchsia-logo-2x.png" ]) |
| |
| outputs = [ "{{source_file_part}}" ] |
| } |