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

dart_library("fuchsia_scenic_flutter") {
  package_name = "fuchsia_scenic_flutter"

  sdk_category = "partner"

  source_dir = "lib"

  # TODO(BLD-445): fix analysis errors in fuchsia_scenic_flutter
  sources_required = false

  sources = [
    "child_view.dart",
    "child_view_connection.dart",
    "src/child_scene_layer.dart",
    "src/child_view.dart",
    "src/child_view_connection.dart",
    # "view_container.dart",
    # "src/view_container.dart",
    # "src/view_container_listener_impl.dart",
    # "src/internal/_mozart.dart",
    # "src/internal/fakes/mozart_fakes.dart",
  ]

  deps = [
    "//sdk/fidl/fuchsia.ui.views",
    "//third_party/dart-pkg/git/flutter/packages/flutter",
    "//third_party/dart-pkg/pub/meta",
    "//topaz/public/dart/fuchsia_logger",
  ]
}

# Runs these tests using:
#   fx run-host-tests fuchsia_scenic_flutter_unittests
flutter_test("fuchsia_scenic_flutter_unittests") {
  sources = [
    "child_view_test.dart",
  ]

  deps = [
    ":fuchsia_scenic_flutter",
    "//third_party/dart-pkg/pub/test",
  ]
}
