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

###
#   DO NOT ADD TO THIS FILE.
#   Tools added here will not normally make it into builds. This file is long
#   deprecated and must only shrink.
###

group("scenic") {
  testonly = true
  public_deps = [ "//src/ui/tools:scenic" ]
}

# TODO(fxbug.dev/36227): sl4f is explicitly excluded here, we can consider adding it back once it
# migrates off 'deprecated-shell'
group("all") {
  testonly = true
  public_deps = [ ":scenic" ]
}

# WARNING: Known to infrastructure.
group("sl4f") {
  testonly = true
  public_deps = [ "//src/testing/sl4f" ]
}
