# Copyright 2020 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/dev.gni")

group("bootfs_labels") {
  testonly = true
  deps = dev_bootfs_labels
}

group("build_only_deps") {
  testonly = true
  deps = dev_build_only_deps
}

group("system_image_deps") {
  testonly = true
  deps = dev_system_image_deps
}
