# Copyright 2022 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(
    "@rules_fuchsia//fuchsia:defs.bzl",
    "fuchsia_package_repository",
)

fuchsia_package_repository(
    name = "samples_repository",
    testonly = True,
    repo_name = "fuchsiasamples.com",
    deps = [
        "//src/acpi_multiply/controller:pkg",
        "//src/acpi_multiply/driver:pkg",
        "//src/bind_library:child_pkg",
        "//src/bind_library:parent_pkg",
        "//src/composite_sample:pkg",
        "//src/example_driver:pkg",
        "//src/i2c_temperature/controller:pkg",
        "//src/i2c_temperature/driver:pkg",
        "//src/input_sample:pkg",
        "//src/qemu_edu/drivers:pkg",
        "//src/qemu_edu/tests:pkg",
        "//src/qemu_edu/tools:pkg",
    ],
)
