# 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("archivist") {
  testonly = true
  public_deps = [
    "//garnet/bin/archivist",
  ]
}
group("rolldice") {
  testonly = true
  public_deps = [
    "//garnet/bin/rolldice",
  ]
}

group("tz-util") {
  testonly = true
  public_deps = [
    "//garnet/bin/tz-util",
  ]
}

group("broadcom") {
  testonly = true
  public_deps = [
    "//src/connectivity/wlan/drivers/third_party/broadcom/brcmfmac",
    "//src/connectivity/wlan/drivers/wlanif",
    "//src/connectivity/wlan/drivers/wlanphy",
  ]
}

group("bluetooth_hid") {
  testonly = true
  public_deps = [
    "//src/connectivity/bluetooth/profiles/bt-hog",
  ]
}

group("netcfg") {
  testonly = true
  public_deps = [
    "//garnet/bin/netcfg",
    "//garnet/bin/netcfg:config",
    "//garnet/packages/config:services",
  ]
}

group("fonts") {
  testonly = true
  public_deps = [
    "//garnet/bin/fonts",
  ]
}

group("tracing") {
  testonly = true
  public_deps = [
    "//garnet/bin/cpuperf_provider",
    "//garnet/bin/cpuperf_provider:report_generators",
    "//garnet/bin/ktrace_provider",
    "//garnet/bin/memory_monitor",
    "//garnet/bin/trace",
    "//garnet/bin/trace2json",
    "//garnet/bin/trace_manager",
    "//garnet/bin/traceutil",
  ]
}

group("thermd") {
  testonly = true
  public_deps = [
    "//garnet/bin/thermd",
  ]
}

group("bluetooth_intel") {
  testonly = true
  public_deps = [
    "//garnet/packages/prod:bluetooth_hci",
    "//src/connectivity/bluetooth/hci/intel",
  ]
}

group("scenic") {
  testonly = true
  public_deps = [
    "//garnet/bin/ui:ime_service",
    "//garnet/bin/ui:root_presenter",
    "//garnet/bin/ui:scenic",
    "//garnet/packages/prod:sysmem_connector",
    "//garnet/packages/prod:vulkan",
  ]
}

group("network") {
  testonly = true
  public_deps = [
    "//garnet/bin/http",
    "//garnet/packages/prod:netcfg",
    "//garnet/packages/prod:netstack",
  ]
}

group("cpuperf") {
  testonly = true
  public_deps = [
    "//garnet/bin/cpuperf",
    "//garnet/bin/cpuperf/print:host_cpuperf_print",
  ]
}

group("installblob") {
  testonly = true
  public_deps = [
    "//garnet/go/src/installblob",
  ]
}

group("feedback_agent") {
  testonly = true
  public_deps = [
    "//src/developer/feedback_agent",
  ]
}

group("auth") {
  testonly = true
  public_deps = [
    "//src/identity/bin/account_handler",
    "//src/identity/bin/account_manager",
    "//src/identity/bin/google_auth_provider",
    "//src/identity/bin/token_manager_factory",
  ]
}

group("bindc") {
  testonly = true
  public_deps = [
    "//tools/bindc",
  ]
}

group("ssh") {
  testonly = true
  public_deps = [
    "//third_party/openssh-portable:openssh-tools",
  ]
}

group("sysmgr") {
  testonly = true
  public_deps = [
    "//garnet/bin/sysmgr",
  ]
}

group("drivers") {
  testonly = true
  public_deps = [
    "//garnet/packages/prod:bluetooth_drivers",
    "//garnet/packages/prod:usb_video",
    "//garnet/packages/prod:virtual_audio_driver",
    "//garnet/packages/prod:virtual_camera",
    "//garnet/packages/prod:vulkan",
    "//garnet/packages/prod:wlan_drivers",
    "//src/connectivity/telephony:drivers",
  ]
  if (target_cpu == "arm64") {
    public_deps += [ "//garnet/packages/prod:amlogic_video_decoder" ]
  }
  if (target_cpu == "x64") {
    public_deps += [ "//garnet/packages/prod:magma-intel-gen" ]
  }
}

group("debugserver") {
  testonly = true
  public_deps = [
    "//garnet/bin/debugserver",
  ]
}

group("xi_core") {
  testonly = true
  public_deps = [
    "//garnet/bin/xi_core",
  ]
}

group("all") {
  testonly = true
  public_deps = [
    ":drivers",
    "//garnet/go/src/amber:pkgfs",
    "//garnet/packages/prod:amber",
    "//garnet/packages/prod:appmgr",
    "//garnet/packages/prod:archivist",
    "//garnet/packages/prod:atheros",
    "//garnet/packages/prod:auth",
    "//garnet/packages/prod:banjo",
    "//garnet/packages/prod:bindc",
    "//garnet/packages/prod:bluetooth_a2dp",
    "//garnet/packages/prod:bluetooth_all",
    "//garnet/packages/prod:bluetooth_atheros",
    "//garnet/packages/prod:bluetooth_core",
    "//garnet/packages/prod:bluetooth_hci",
    "//garnet/packages/prod:bluetooth_hid",
    "//garnet/packages/prod:bluetooth_intel",
    "//garnet/packages/prod:bluetooth_profiles",
    "//garnet/packages/prod:broadcom",
    "//garnet/packages/prod:build_info",
    "//garnet/packages/prod:chrealm",
    "//garnet/packages/prod:cmdutils",
    "//garnet/packages/prod:cobalt_client",
    "//garnet/packages/prod:cpuperf",
    "//garnet/packages/prod:crashpad_agent",
    "//garnet/packages/prod:debug_agent",
    "//garnet/packages/prod:debugserver",
    "//garnet/packages/prod:device_settings",
    "//garnet/packages/prod:display_manager",
    "//garnet/packages/prod:drivers",
    "//garnet/packages/prod:far",
    "//garnet/packages/prod:feedback_agent",
    "//garnet/packages/prod:fonts",
    "//garnet/packages/prod:fortune",
    "//garnet/packages/prod:guest_runner",
    "//garnet/packages/prod:insntrace",
    "//garnet/packages/prod:installblob",
    "//garnet/packages/prod:iquery",
    "//garnet/packages/prod:kernel_crash_checker",
    "//garnet/packages/prod:log_listener",
    "//garnet/packages/prod:logger",
    "//garnet/packages/prod:magma-arm-mali",
    "//garnet/packages/prod:magma-img-rgx-mt8167",
    "//garnet/packages/prod:magma-qcom-adreno",
    "//garnet/packages/prod:mdns",
    "//garnet/packages/prod:mdns-util",
    "//garnet/packages/prod:media",
    "//garnet/packages/prod:media_audio",
    "//garnet/packages/prod:media_codec",
    "//garnet/packages/prod:mediaplayer",
    "//garnet/packages/prod:mediasession",
    "//garnet/packages/prod:memory_monitor",
    "//garnet/packages/prod:net-cli",
    "//garnet/packages/prod:net_ctl",
    "//garnet/packages/prod:netcfg",
    "//garnet/packages/prod:netconnector",
    "//garnet/packages/prod:netstack",
    "//garnet/packages/prod:netstack3",
    "//garnet/packages/prod:netstack_tools",
    "//garnet/packages/prod:network",
    "//garnet/packages/prod:network-speed-test",
    "//garnet/packages/prod:network_time",
    "//garnet/packages/prod:odu",
    "//garnet/packages/prod:omaha_client",
    "//garnet/packages/prod:openssh",
    "//garnet/packages/prod:overnetstack",
    "//garnet/packages/prod:pkg_cache",
    "//garnet/packages/prod:pkg_ctl",
    "//garnet/packages/prod:pkg_resolver",
    "//garnet/packages/prod:pm",
    "//garnet/packages/prod:power_manager",
    "//garnet/packages/prod:ralink",
    "//garnet/packages/prod:realtek",
    "//garnet/packages/prod:rolldice",
    "//garnet/packages/prod:root_ssl_certificates",
    "//garnet/packages/prod:run",
    "//garnet/packages/prod:runtime",
    "//garnet/packages/prod:sbase",
    "//garnet/packages/prod:scenic",
    "//garnet/packages/prod:scenic_tools",
    "//garnet/packages/prod:scpi",
    "//garnet/packages/prod:setui_client",
    "//garnet/packages/prod:setui_service",
    "//garnet/packages/prod:ssh",
    "//garnet/packages/prod:stash",
    "//garnet/packages/prod:sysmem-assistant",
    "//garnet/packages/prod:sysmem_connector",
    "//garnet/packages/prod:sysmgr",
    "//garnet/packages/prod:tee_manager",
    "//garnet/packages/prod:telephony",
    "//garnet/packages/prod:terminal",
    "//garnet/packages/prod:test_runner",
    "//garnet/packages/prod:thermd",
    "//garnet/packages/prod:tiles",
    "//garnet/packages/prod:timezone",
    "//garnet/packages/prod:tracing",
    "//garnet/packages/prod:tts",
    "//garnet/packages/prod:tz-util",
    "//garnet/packages/prod:vboot_reference",
    "//garnet/packages/prod:vim",
    "//garnet/packages/prod:wlan_drivers",
    "//garnet/packages/prod:wlanif",
    "//garnet/packages/prod:wlanphy",
    "//garnet/packages/prod:xi_core",
    "//src/connectivity/dhcp:dhcpd",
    "//src/connectivity/telephony:drivers",
    "//src/connectivity/wlan:bin",
    "//src/connectivity/wlan:tools",
  ]
}

group("sysmem-assistant") {
  testonly = true
  public_deps = [
    "//garnet/bin/sysmem-assistant",
    "//garnet/bin/sysmem-assistant:secmem-ta",
    "//garnet/packages/prod:tee_manager",
  ]
}

group("atheros") {
  testonly = true
  public_deps = [
    "//src/connectivity/wlan/drivers/third_party/atheros/ath10k:ath10k",
    "//src/connectivity/wlan/drivers/wlan",
    "//src/connectivity/wlan/drivers/wlanphy",
  ]
}

group("wifi_intel") {
  testonly = true
  public_deps = [
    "//src/connectivity/wlan/drivers/third_party/intel/iwlwifi:iwlwifi",
    "//src/connectivity/wlan/drivers/wlan",
    "//src/connectivity/wlan/drivers/wlanphy",
  ]
}

group("realtek") {
  testonly = true
  public_deps = [
    "//src/connectivity/wlan/drivers/realtek/rtl88xx",
    "//src/connectivity/wlan/drivers/wlan",
    "//src/connectivity/wlan/drivers/wlanphy",
  ]
}

group("net-cli") {
  testonly = true
  public_deps = [
    "//garnet/bin/net-cli",
  ]
}

group("pm") {
  testonly = true
  public_deps = [
    "//garnet/go/src/pm",
    "//garnet/go/src/pm:host",
  ]
}

group("memory_monitor") {
  testonly = true
  public_deps = [
    "//garnet/bin/memory_monitor",
    "//garnet/bin/memory_monitor:config",
    "//garnet/packages/config:services",
  ]
}

group("netstack") {
  testonly = true
  public_deps = [
    "//garnet/packages/prod:netcfg",
    "//src/connectivity/network/netstack",
  ]
}

group("netstack3") {
  testonly = true
  public_deps = [
    "//src/connectivity/network/netstack3",
    "//src/connectivity/network/netstack3/tools:netstack3_tools",
  ]
}

group("overnetstack") {
  testonly = true
  public_deps = [
    "//src/connectivity/overnet/overnetstack",
    "//src/connectivity/overnet/tools/onet",
  ]
}

group("netconnector") {
  testonly = true
  public_deps = [
    "//garnet/bin/netconnector",
    "//garnet/packages/prod:mdns",
  ]
}

group("insntrace") {
  testonly = true
  public_deps = [
    "//garnet/bin/insntrace",
    "//garnet/bin/insntrace:host_insntrace_print",
  ]
}

group("setui_service") {
  testonly = true
  public_deps = [
    "//garnet/bin/setui:setui_service",
  ]
}

group("openssh") {
  testonly = true
  public_deps = [
    "//garnet/bin/sshd-host",
  ]
}

group("display_manager") {
  testonly = true
  public_deps = [
    "//garnet/bin/display_manager",
  ]
}

group("guest_runner") {
  testonly = true
  public_deps = [
    "//garnet/packages/config:network",
    "//garnet/packages/prod:amber",
    "//garnet/packages/prod:runtime",
    "//src/virtualization/bin/guest:guest",
    "//src/virtualization/bin/guest_manager:guest_manager",
    "//src/virtualization/bin/guest_runner:guest_runner",
    "//src/virtualization/bin/vmm",
    "//src/virtualization/bin/vmm/device:virtio_balloon",
    "//src/virtualization/bin/vmm/device:virtio_block",
    "//src/virtualization/bin/vmm/device:virtio_console",
    "//src/virtualization/bin/vmm/device:virtio_gpu",
    "//src/virtualization/bin/vmm/device:virtio_input",
    "//src/virtualization/bin/vmm/device:virtio_net",
    "//src/virtualization/bin/vmm/device:virtio_rng",
    "//src/virtualization/bin/vmm/device:virtio_wl",
  ]
}

group("usb_video") {
  testonly = true
  public_deps = [
    "//garnet/drivers/usb_video",
  ]
}

group("virtual_camera") {
  testonly = true
  public_deps = [
    "//garnet/drivers/virtual_camera",
  ]
}

group("media_audio") {
  testonly = true
  public_deps = [
    "//src/media/audio/audio",
    "//src/media/audio/audio_core",
  ]
}

group("bluetooth_atheros") {
  testonly = true
  public_deps = [
    "//garnet/packages/prod:bluetooth_hci",
    "//src/connectivity/bluetooth/hci/atheros",
  ]
}

group("bluetooth_hci") {
  testonly = true
  public_deps = [
    "//src/connectivity/bluetooth/hci/passthrough",
  ]
}

group("cmdutils") {
  testonly = true
  public_deps = [
    "//examples/cowsay",
    "//garnet/bin/time",
    "//garnet/bin/uname",
    "//garnet/packages/prod:sbase",
    "//garnet/packages/prod:vim",
  ]
}

group("build_info") {
  testonly = true
  public_deps = [
    "//garnet:build-info",
  ]
}

group("pkg_ctl") {
  testonly = true
  public_deps = [
    "//garnet/bin/pkg_ctl",
  ]
}

group("bluetooth_drivers") {
  testonly = true
  public_deps = [
    "//src/connectivity/bluetooth/core/bt-host",
    "//src/connectivity/bluetooth/hci/atheros",
    "//src/connectivity/bluetooth/hci/fake",
    "//src/connectivity/bluetooth/hci/intel",
    "//src/connectivity/bluetooth/hci/passthrough",
    "//src/connectivity/bluetooth/profiles/bt-hog",
  ]
}

group("scpi") {
  testonly = true
  public_deps = [
    "//garnet/bin/scpi",
  ]
}

group("vboot_reference") {
  testonly = true
  public_deps = [
    "//garnet/tools/vboot_reference:cgpt_host",
    "//garnet/tools/vboot_reference:futility_host",
  ]
}

group("net_ctl") {
  testonly = true
  public_deps = [
    "//garnet/bin/net_ctl",
  ]
}

group("odu") {
  testonly = true
  public_deps = [
    "//garnet/bin/odu",
  ]
}

group("mdns") {
  testonly = true
  public_deps = [
    "//src/connectivity/network/mdns/service:mdns",
  ]
}

group("kernel_crash_checker") {
  testonly = true
  public_deps = [
    "//src/developer/kernel_crash_checker",
  ]
}

group("cobalt_client") {
  testonly = true
  public_deps = [
    "//src/cobalt/bin/app:cobalt",
    "//src/cobalt/bin/system-metrics:cobalt_system_metrics",
  ]
}

group("media_codec") {
  testonly = true
  public_deps = [
    "//garnet/bin/media:codec_factory",
    "//garnet/bin/media:codec_runner_sw_ffmpeg",
  ]
}

group("banjo") {
  testonly = true
  public_deps = [
    "//tools/banjo/banjo",
  ]
}

group("mediaplayer") {
  testonly = true
  public_deps = [
    "//src/media/playback/mediaplayer",
  ]
}

group("log_listener") {
  testonly = true
  public_deps = [
    "//garnet/bin/log_listener:log_listener",
    "//garnet/bin/log_listener:log_listener_shell",
  ]
}

group("bluetooth_profiles") {
  testonly = true
  public_deps = [
    "//garnet/packages/prod:bluetooth_a2dp",
    "//garnet/packages/prod:bluetooth_hid",
  ]
}

group("crashpad_agent") {
  testonly = true
  public_deps = [
    "//src/developer/crashpad_agent",
  ]
}

group("media") {
  testonly = true
  public_deps = [
    "//garnet/bin/media/camera_manager:camera_manager_cpp",
    "//garnet/lib/media/camera/simple_camera_server:simple_camera_server_cpp",
    "//garnet/packages/prod:media_audio",
    "//garnet/packages/prod:media_codec",
    "//garnet/packages/prod:mediaplayer",
    "//garnet/packages/prod:mediasession",
    "//garnet/packages/prod:tts",
  ]
}

group("scenic_tools") {
  testonly = true
  public_deps = [
    "//garnet/packages/tools:scenic",
  ]
}

group("pkg_cache") {
  testonly = true
  public_deps = [
    "//garnet/bin/pkg_cache",
  ]
}

group("root_ssl_certificates") {
  testonly = true
  public_deps = [
    "//garnet/lib/root_ssl_certificates",
  ]
}

group("power_manager") {
  testonly = true
  public_deps = [
    "//garnet/bin/power_manager:power_manager",
  ]
}

group("network_time") {
  testonly = true
  public_deps = [
    "//garnet/bin/network_time",
    "//garnet/bin/network_time_service",
  ]
}

group("logger") {
  testonly = true
  public_deps = [
    "//garnet/bin/logger",
  ]
}

group("vim") {
  testonly = true
  public_deps = [
    "//third_party/vim",
  ]
}

group("telephony") {
  testonly = true
  public_deps = [
    "//src/connectivity/telephony/drivers/qmi-fake-transport",
    "//src/connectivity/telephony/drivers/qmi-usb-transport",
    "//src/connectivity/telephony/ril-qmi",
    "//src/connectivity/telephony/ril-qmi:ril-qmi-tests",
    "//src/connectivity/telephony/telephony",
    "//src/connectivity/telephony/tools/ril-ctl",
  ]
}

group("tiles") {
  testonly = true
  public_deps = [
    "//garnet/bin/developer/tiles",
  ]
}

group("timezone") {
  testonly = true
  public_deps = [
    "//garnet/bin/timezone",
  ]
}

group("virtual_audio_driver") {
  testonly = true
  public_deps = [
    "//src/media/audio/drivers/virtual_audio",
  ]
}

group("vulkan") {
  testonly = true
  public_deps = [
    "//garnet/bin/vulkan_loader",
    "//garnet/packages/prod:sysmem_connector",
  ]
}

group("run") {
  testonly = true
  public_deps = [
    "//garnet/bin/run",
  ]
}

group("netstack_tools") {
  testonly = true
  public_deps = [
    "//garnet/packages/tools:netstack",
  ]
}

group("pkg_resolver") {
  testonly = true
  public_deps = [
    "//garnet/bin/pkg_resolver",
  ]
}

group("chrealm") {
  testonly = true
  public_deps = [
    "//garnet/bin/chrealm",
  ]
}

group("bluetooth_a2dp") {
  testonly = true
  public_deps = [
    "//src/connectivity/bluetooth/profiles/bt-a2dp-sink",
  ]
}

group("amber") {
  testonly = true
  public_deps = [
    "//garnet/go/src/amber",
    "//garnet/go/src/amber:amber_tools",
  ]
}

group("network-speed-test") {
  testonly = true
  public_deps = [
    "//garnet/bin/network-speed-test",
  ]
}

group("sbase") {
  testonly = true
  public_deps = [
    "//third_party/sbase:basename",
    "//third_party/sbase:cal",
    "//third_party/sbase:cat",
    "//third_party/sbase:cksum",
    "//third_party/sbase:cmp",
    "//third_party/sbase:cols",
    "//third_party/sbase:comm",
    "//third_party/sbase:cp",
    "//third_party/sbase:cut",
    "//third_party/sbase:date",
    "//third_party/sbase:dirname",
    "//third_party/sbase:du",
    "//third_party/sbase:echo",
    "//third_party/sbase:ed",
    "//third_party/sbase:env",
    "//third_party/sbase:expand",
    "//third_party/sbase:expr",
    "//third_party/sbase:false",
    "//third_party/sbase:find",
    "//third_party/sbase:fold",
    "//third_party/sbase:grep",
    "//third_party/sbase:head",
    "//third_party/sbase:hostname",
    "//third_party/sbase:join",
    "//third_party/sbase:link",
    "//third_party/sbase:ls",
    "//third_party/sbase:md5sum",
    "//third_party/sbase:mkdir",
    "//third_party/sbase:mktemp",
    "//third_party/sbase:mv",
    "//third_party/sbase:nl",
    "//third_party/sbase:od",
    "//third_party/sbase:paste",
    "//third_party/sbase:pathchk",
    "//third_party/sbase:printenv",
    "//third_party/sbase:printf",
    "//third_party/sbase:pwd",
    "//third_party/sbase:readlink",
    "//third_party/sbase:rev",
    "//third_party/sbase:rm",
    "//third_party/sbase:rmdir",
    "//third_party/sbase:sed",
    "//third_party/sbase:seq",
    "//third_party/sbase:sha1sum",
    "//third_party/sbase:sha224sum",
    "//third_party/sbase:sha256sum",
    "//third_party/sbase:sha384sum",
    "//third_party/sbase:sha512-224sum",
    "//third_party/sbase:sha512-256sum",
    "//third_party/sbase:sha512sum",
    "//third_party/sbase:sleep",
    "//third_party/sbase:sort",
    "//third_party/sbase:split",
    "//third_party/sbase:sponge",
    "//third_party/sbase:strings",
    "//third_party/sbase:sync",
    "//third_party/sbase:tail",
    "//third_party/sbase:tar",
    "//third_party/sbase:tee",
    "//third_party/sbase:test",
    "//third_party/sbase:tftp",
    "//third_party/sbase:touch",
    "//third_party/sbase:tr",
    "//third_party/sbase:true",
    "//third_party/sbase:tsort",
    "//third_party/sbase:tty",
    "//third_party/sbase:unexpand",
    "//third_party/sbase:uniq",
    "//third_party/sbase:unlink",
    "//third_party/sbase:uudecode",
    "//third_party/sbase:uuencode",
    "//third_party/sbase:wc",
    "//third_party/sbase:which",
    "//third_party/sbase:whoami",
    "//third_party/sbase:xargs",
    "//third_party/sbase:xinstall",
    "//third_party/sbase:yes",
  ]
}

group("test_runner") {
  testonly = true
  public_deps = [
    "//garnet/bin/test_runner:run_integration_tests",
    "//garnet/bin/test_runner:run_test",
  ]
}

group("runtime") {
  testonly = true
  public_deps = [
    "//garnet/packages/prod:amber",
    "//garnet/packages/prod:appmgr",
    "//garnet/packages/prod:sysmgr",
  ]
}

group("device_settings") {
  testonly = true
  public_deps = [
    "//garnet/bin/device_settings:device_settings_manager",
  ]
}

group("terminal") {
  testonly = true
  public_deps = [
    "//garnet/bin/terminal",
  ]
}

group("wlanif") {
  testonly = true
  public_deps = [
    "//src/connectivity/wlan/drivers/wlan",
    "//src/connectivity/wlan/drivers/wlanif",
  ]
}

group("tts") {
  testonly = true
  public_deps = [
    "//garnet/packages/prod:media_audio",
    "//src/speech/tts:tts_service",
  ]
}

if (target_cpu == "arm64") {
  group("amlogic_video_decoder") {
    testonly = true
    public_deps = [
      "//garnet/drivers/video/amlogic-decoder:amlogic_video_decoder",
      "//garnet/drivers/video/amlogic-decoder:amlogic_video_decoder_test_build",
    ]
  }
}

group("stash") {
  testonly = true
  public_deps = [
    "//garnet/bin/stash:stash",
    "//garnet/bin/stash_ctl:stash_ctl",
  ]
}

group("wlanphy") {
  testonly = true
  public_deps = [
    "//src/connectivity/wlan/drivers/wlan",
    "//src/connectivity/wlan/drivers/wlanphy",
  ]
}

group("far") {
  testonly = true
  public_deps = [
    "//garnet/bin/far",
    "//garnet/bin/far:host",
  ]
}

group("mediasession") {
  testonly = true
  public_deps = [
    "//src/media/sessions",
  ]
}

group("mdns-util") {
  testonly = true
  public_deps = [
    "//src/connectivity/network/mdns/util:mdns-util",
  ]
}

group("ralink") {
  testonly = true
  public_deps = [
    "//src/connectivity/wlan/drivers/mediatek/ralink",
    "//src/connectivity/wlan/drivers/wlan",
    "//src/connectivity/wlan/drivers/wlanphy",
  ]
}

group("iquery") {
  testonly = true
  public_deps = [
    "//garnet/bin/iquery",
  ]
}

group("bluetooth_core") {
  testonly = true
  public_deps = [
    "//garnet/packages/prod:bluetooth_hci",
    "//src/connectivity/bluetooth/core/bt-gap",
    "//src/connectivity/bluetooth/core/bt-host",
    "//src/connectivity/bluetooth/core/bt-init",
    "//src/connectivity/bluetooth/tools/bt-snoop",
  ]
}

group("appmgr") {
  testonly = true
  public_deps = [
    "//garnet/bin/appmgr",
    "//garnet/bin/appmgr:appmgr_scheme_config",
  ]
}

group("debug_agent") {
  testonly = true
  public_deps = [
    "//src/developer/debug/debug_agent",
  ]
}

group("sysmem_connector") {
  testonly = true
  public_deps = [
    "//garnet/bin/sysmem_connector",
  ]
}

group("wlan_drivers") {
  testonly = true
  public_deps = [
    "//garnet/packages/prod:atheros",
    "//garnet/packages/prod:broadcom",
    "//garnet/packages/prod:ralink",
    "//garnet/packages/prod:realtek",
    "//garnet/packages/prod:wifi_intel",
    "//garnet/packages/prod:wlanif",
    "//garnet/packages/prod:wlanphy",
  ]
}

group("fortune") {
  testonly = true
  public_deps = [
    "//examples/fortune",
  ]
}

group("bluetooth_all") {
  testonly = true
  public_deps = [
    "//garnet/packages/prod:bluetooth_atheros",
    "//garnet/packages/prod:bluetooth_core",
    "//garnet/packages/prod:bluetooth_intel",
    "//garnet/packages/prod:bluetooth_profiles",
  ]
}

group("magma-arm-mali") {
  testonly = true
  public_deps = [
    "//garnet/lib/magma/gnbuild/magma-arm-mali:magma-vulkan",
    "//garnet/packages/prod:sysmem_connector",
  ]
}

if (target_cpu == "x64") {
  group("magma-intel-gen") {
    testonly = true
    public_deps = [
      "//garnet/lib/magma/gnbuild/magma-intel-gen:magma-vulkan",
      "//garnet/packages/prod:sysmem_connector",
    ]
  }
}

group("magma-img-rgx-mt8167") {
  testonly = true
  public_deps = [
    "//garnet/lib/magma/gnbuild/magma-img-rgx:magma-vulkan",
  ]
}

group("magma-qcom-adreno") {
  testonly = true
  public_deps = [
    "//garnet/lib/magma/gnbuild/magma-qcom-adreno:magma-vulkan",
    "//garnet/packages/prod:sysmem_connector",
  ]
}

group("magma-vsl-gc") {
  testonly = true
  public_deps = [
    "//garnet/lib/magma/gnbuild/magma-vsl-gc:magma-vulkan",
  ]
}

group("omaha_client") {
  testonly = true
  public_deps = [
    "//garnet/bin/omaha_client",
    "//garnet/bin/omaha_client_ctl",
  ]
}

group("setui_client") {
  testonly = true
  public_deps = [
    "//garnet/bin/setui_client",
  ]
}

group("tee_manager") {
  testonly = true
  public_deps = [
    "//garnet/bin/tee_manager",
    "//garnet/bin/tee_manager:config",
  ]
}
