# 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("escher") {
  testonly = true

  # Marking as private to :all so it won't be used. Once ":all" is removed, this
  # target can also be removed.
  visibility = [ ":all" ]
  public_deps = [
    "//src/ui/examples/escher:escher_rainfall",
    "//src/ui/examples/escher:escher_waterfall",
  ]
}

group("all") {
  testonly = true
  public_deps = [
    ":bluetooth",
    ":escher",
    ":fidl",
    ":rust",
    "//examples/benchmark",
    "//src/ui:runtime_with_root_presenter",
    "//src/ui/examples",
  ]
}

group("fidl") {
  testonly = true
  public_deps = [
    "//examples/fidl/c/server:echo-c-server",
    "//examples/fidl/go:echo-go-client",
    "//examples/fidl/hlcpp:echo-hlcpp-client",
    "//examples/fidl/hlcpp:echo-hlcpp-client-sync",
    "//examples/fidl/hlcpp/server:echo-hlcpp-server",
    "//examples/fidl/llcpp:echo-llcpp-client",
    "//examples/fidl/llcpp/server:echo-llcpp-server",
    "//examples/fidl/rust:echo-rust-client",
    "//examples/fidl/rust:echo-rust-client-sync",
    "//examples/fidl/rust/server:echo-rust-server",
  ]
}

group("bluetooth") {
  testonly = true
  public_deps = [ "//src/connectivity/bluetooth/examples" ]
}

group("rust") {
  testonly = true
  public_deps = [ "//examples/rust:garnet-rust-examples" ]
}
