# 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/dart/dart_library.gni")

dart_library("lib.base_shell") {
  package_name = "lib.base_shell"
  sources_required = false

  sources = [
    "base_model.dart",
    "netstack_model.dart",
    "user_manager.dart",
    # Including these sources triggers analysis errors.
    # "base_shell_model.dart",
    # "base_shell_widget.dart",
  ]

  deps = [
    "//sdk/fidl/fuchsia.modular",
    "//sdk/fidl/fuchsia.modular.auth",
    "//sdk/fidl/fuchsia.netstack",
    "//sdk/fidl/fuchsia.timezone",
    "//sdk/fidl/fuchsia.ui.input",
    "//sdk/fidl/fuchsia.ui.views",
    "//third_party/dart-pkg/git/flutter/packages/flutter",
    "//topaz/public/dart/fidl",
    "//topaz/public/dart/fuchsia_scenic_flutter",
    "//topaz/public/dart/widgets:lib.widgets",
    "//zircon/public/fidl/fuchsia-net:fuchsia-net",
  ]
}
