# Copyright 2019 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("//topaz/runtime/dart/flutter_test.gni")
import("//topaz/runtime/flutter_runner/flutter_app.gni")

flutter_app("story_shell_labs") {
  package_name = "story_shell_labs"
  main_dart = "lib/main.dart"

  meta = [
    {
      path = rebase_path("meta/story_shell_labs.cmx")
      dest = "story_shell_labs.cmx"
    },
  ]

  sources = [
    "src/story_shell_impl.dart",
    "src/story_visual_state_watcher_impl.dart",
    "src/widgets/story_widget.dart",
  ]

  deps = [
    "//sdk/fidl/fuchsia.modular",
    "//third_party/dart-pkg/git/flutter/packages/flutter",
    "//topaz/lib/tiler:tiler",
    "//topaz/public/dart/fidl",
    "//topaz/public/dart/fuchsia_logger",
    "//topaz/public/dart/fuchsia_modular",
    "//topaz/public/dart/fuchsia_services",
    "//topaz/public/dart/story_shell_labs:story_shell_labs_lib",
  ]
}
