# 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_group",
)

fuchsia_package_group(
    name = "fuchsia_samples",
    testonly = True,

    deps = [
        "//src/acpi_multiply/client:pkg",
        "//src/acpi_multiply/controller:pkg",
        "//src/acpi_multiply/driver:pkg",
        "//src/bind_library/child:pkg",
        "//src/bind_library/parent:pkg",
        "//src/composite_sample/controller:pkg",
        "//src/composite_sample/driver:pkg",
        "//src/example_driver:pkg",
        "//src/example_driver:test_pkg",
        "//src/i2c_temperature/client: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",
    ],
)
