# 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.

# This has a group corresponding to each product name.  It gives the
# additional base packages that should be included in the build done by
# a bot to run tests and build-time checks to cover that product's code.

group("bringup") {
  testonly = true
  public_deps = [
    "//garnet/packages/tests:zircon",
    "//garnet/tests/zircon/bringup",
  ]
}

group("core") {
  testonly = true
  public_deps = [
    "//bundles:tools",
    "//examples",
    "//examples:tests",
    "//garnet/packages:all",
    "//peridot/packages:all",
    "//src:tests",
    "//tools:tests",
  ]
}

group("terminal") {
  testonly = true
  public_deps = []
}

group("workstation") {
  testonly = true
  public_deps = []
}
