# 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.

load("@io_bazel_rules_dart//dart/build_rules:core.bzl", "dart_library")

package(default_visibility = ["//visibility:public"])

dart_library(
    name = "flutter",
    pub_pkg_name = "flutter",
    srcs = glob(["lib/**/*.dart"]),
    deps = [
        "@vendor_collection//:collection",
        "@vendor_meta//:meta",
        "@vendor_typed_data//:typed_data",
        "@vendor_vector_math//:vector_math",
    ],
)
