# Copyright 2017 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/fidl/fidl.gni")
import("//peridot/build/executable_package.gni")

executable_package("story_info") {
  deprecated_bare_package_url = "//build"

  meta = [
    {
      path = "meta/story_info.cmx"
      dest = "story_info.cmx"
    },
  ]

  sources = [
    "link_watcher_impl.cc",
    "link_watcher_impl.h",
    "story_info.cc",
    "story_info.h",
    "story_info_main.cc",
    "story_watcher_impl.cc",
    "story_watcher_impl.h",
  ]

  deps = [
    "//garnet/public/lib/component/cpp",
    "//garnet/public/lib/fxl",
    "//garnet/public/lib/svc/cpp",

    # TODO(thatguy): Do not depend on constants_and_utils.
    "//peridot/bin/sessionmgr/storage:constants_and_utils",
    "//peridot/lib:maxwell_internal",
    "//peridot/lib/fidl:json_xdr",
    "//peridot/lib/rapidjson",
    "//peridot/public/fidl/fuchsia.modular",
    "//peridot/public/lib/app_driver/cpp:agent_driver",
    "//peridot/public/lib/context/cpp:context_metadata_builder",
    "//peridot/public/lib/entity/cpp",
    "//peridot/public/lib/entity/cpp:json",
    "//third_party/rapidjson",
    "//zircon/public/lib/async-loop-cpp",
  ]
}
