| # 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(":dart.bzl", "DartLibraryInfo", "produce_package_info") |
| |
| def _dart_library_impl(context): |
| return [ |
| produce_package_info(context.attr.package_name, |
| context.files.source_dir[0], |
| context.attr.deps), |
| ] |
| |
| dart_library = rule( |
| implementation = _dart_library_impl, |
| attrs = { |
| "package_name": attr.string( |
| doc = "The name of the Dart package", |
| mandatory = True, |
| ), |
| "source_dir": attr.label( |
| # TODO(pylaligand): set a default value to "lib". |
| doc = "The directory containing the library sources", |
| mandatory = True, |
| allow_single_file = True, |
| ), |
| "deps": attr.label_list( |
| doc = "The list of libraries this library depends on", |
| mandatory = False, |
| providers = [DartLibraryInfo], |
| ), |
| }, |
| provides = [ |
| DartLibraryInfo, |
| ], |
| ) |