# Copyright 2018 The Chromium 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("dart") {
  package_name = "lib.app_driver.dart"

  sdk_category = "partner"

  sources = [
    "app_driver.dart",
    "module_driver.dart",
    "src/intent_parameters.dart",
    "src/module_driver.dart",
    "src/service_client.dart",
    "intent_parameters.dart",
  ]

  deps = [
    "//sdk/fidl/fuchsia.modular",
    "//topaz/public/lib/app/dart",
    "//topaz/public/lib/component/dart",
    "//topaz/public/lib/entity/dart",
    "//topaz/public/lib/intent_handler/dart",
    "//topaz/public/lib/lifecycle/dart",
    "//topaz/public/lib/module/dart",
    "//topaz/public/lib/module_resolver/dart",
    "//topaz/public/lib/schemas/dart",
    "//topaz/public/lib/story/dart",
  ]
}
