# 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("examples_escher_linux") {
  testonly = true
  public_deps = [ "//src/ui/lib/escher/build_linux:examples" ]
}

group("tests_escher_linux") {
  testonly = true
  public_deps = [ "//src/ui/lib/escher/build_linux:tests" ]
}

group("rfb_layer") {
  testonly = true
  public_deps = [
    "//garnet/lib/vulkan/third_party/layers:rfb_layer",
    "//garnet/packages/prod:vulkan",
  ]
}

group("fidl_fuzz") {
  testonly = true
  public_deps = [ "//garnet/public/lib/fidl/fuzz:host" ]
}

group("biscotti_guest") {
  testonly = true
  public_deps = [
    "//garnet/packages/prod:guest_runner",
    "//src/virtualization/packages/biscotti_guest",
  ]
}

group("dev_escher_linux") {
  testonly = true
  public_deps = [
    "//src/ui/lib/escher/build_linux:examples",
    "//src/ui/lib/escher/build_linux:tests",
  ]
}

group("screenshot_layer") {
  testonly = true
  public_deps = [
    "//garnet/lib/vulkan/third_party/layers:screenshot_layer",
    "//garnet/packages/prod:vulkan",
  ]
}
