# 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 = [
    "base_model.dart",
    "netstack_model.dart",
    "user_manager.dart",
    "user_watcher_impl.dart",
  ]

  deps = [
    "//garnet/public/fidl/fuchsia.netstack",
    "//garnet/public/fidl/fuchsia.timezone",
    "//garnet/public/fidl/fuchsia.ui.input",
    "//garnet/public/fidl/fuchsia.ui.viewsv1",
    "//peridot/public/fidl/fuchsia.modular",
    "//peridot/public/fidl/fuchsia.modular.auth",
    "//third_party/dart-pkg/git/flutter/packages/flutter",
    "//topaz/public/dart/fidl",
    "//topaz/public/dart/widgets:lib.widgets",
    "//topaz/public/lib/app/dart",
    "//topaz/shell/widgets",
    "//zircon/public/fidl/fuchsia-net:fuchsia-net",
  ]
}
