# 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("//topaz/runtime/flutter_runner/flutter_app.gni")

flutter_app("mediaplayer_flutter") {
  components = [
    {
      component_name = "mediaplayer_flutter"
      component_type = "flutter"
      package_root = "."
      main_dart = "lib/main.dart"
      sources = [
        "asset.dart",
        "config.dart",
      ]
      deps = [
        "//sdk/fidl/fuchsia.ui.viewsv1",
        "//sdk/fidl/fuchsia.modular",
        "//third_party/dart-pkg/git/flutter/packages/flutter",
        "//topaz/public/dart/fidl",
        "//topaz/public/dart/fuchsia",
        "//topaz/public/lib/app/dart",
        "//topaz/public/lib/mediaplayer/flutter",
      ]
    },
  ]

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

  resources = [
    {
      path = rebase_path("mediaplayer_flutter.config")
      dest = "mediaplayer_flutter.config"
    },
  ]
}
