# Copyright 2019 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.
#
# WARNING: This file was machine-generated from previous json files and
# will eventually be deleted.

group("all") {
  testonly = true
  public_deps = [
    "//garnet/packages/benchmarks:all",
    "//garnet/packages/examples:all",
    "//garnet/packages/experimental:all",
    "//garnet/packages/prod:all",
    "//garnet/packages/testing:all",
    "//garnet/packages/tests:all",
    "//garnet/packages/tools:all",
  ]
}

# WARNING: Known to infrastructure.
group("garnet") {
  testonly = true
  public_deps = [
    "//garnet/packages/config:amber",
    "//garnet/packages/config:network",
    "//garnet/packages/config:openssh_keys",
    "//garnet/packages/config:thermd",
    "//garnet/packages/prod:all",
  ]
}
