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

# Packages added to the universe set complementing SDK images.
group("tools") {
  testonly = true
  public_deps = [
    "//garnet/go/src/fidl",
    "//garnet/go/src/fidlmerge:host",
    "//garnet/packages/prod:cmdutils",
    "//garnet/packages/prod:debug_agent",
    "//garnet/packages/prod:far",
    "//garnet/packages/prod:iquery",
    "//garnet/packages/prod:run",
    "//garnet/packages/prod:sbase",
    "//garnet/packages/prod:setui_client",
    "//garnet/packages/prod:tiles",
    "//garnet/packages/prod:tracing",
    "//garnet/packages/testing:all",
    "//garnet/packages/testing:run_test_component",
    "//garnet/packages/tools:all",
    "//src/chromium:web_engine",
    "//src/chromium:web_runner",
    "//src/connectivity/network/dhcpd-cli",
    "//src/connectivity/network/mdns/bundles:utils",
    "//src/connectivity/network/netstack:tools",
    "//src/connectivity/wlan:tools",
    "//src/dart",
    "//src/developer/memory/mem",
    "//src/developer/system_monitor/bin/dockyard_host:host_tools",
    "//src/developer/system_monitor/bin/harvester:system_monitor_harvester",
    "//src/devices/tools/banjo:banjo_bin",
    "//src/graphics/lib/magma:magma-tools",
    "//src/recovery/factory_reset:tools",
    "//src/sys/locate",
    "//src/sys/pkg/bin/pm:host",
    "//src/sys/tools/cs",
    "//src/sys/tools/runmany",
    "//src/ui/tools/tiles_ctl",
    "//third_party/curl",
    "//third_party/iperf",
    "//third_party/openssh-portable:openssh-tools",
    "//tools/fidl/gidl:host",
    "//tools/whereiscl:host($host_toolchain)",

    # We don't include the AOT flutter tools due to ABI stability.
    # SDK customers should download the AOT tools directly from
    # the flutter respository or use JIT instead.
    "//src/flutter:flutter_jit",
    "//src/flutter:flutter_jit_product",
    "//src/fonts",
    "//src/media/audio/bundles:services",
    "//src/media/bundles:tools",
    "//src/media/codec/bundles:services",
    "//src/media/playback/bundles:services",
    "//src/media/sessions/bundles:services",
    "//src/modular/bin/sessionctl",
    "//src/modular/bundles:framework",
    "//src/modular/bundles:tools",
  ]
}
