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

group("web_runner") {
  testonly = true
  public_deps = [
    "//topaz/packages/prod:chromium",
    "//topaz/runtime/chromium:web_runner",
  ]
}

group("system_dashboard") {
  testonly = true
  public_deps = [
    "//topaz/bin/system_dashboard",
  ]
}

group("dart") {
  testonly = true
  public_deps = [
    "//topaz/runtime/dart:dart",
  ]
}

group("flutter") {
  testonly = true
  public_deps = [
    "//topaz/packages/prod:flutter_aot",
    "//topaz/packages/prod:flutter_aot_product",
    "//topaz/packages/prod:flutter_jit",
    "//topaz/packages/prod:flutter_jit_product",
  ]
}

group("all") {
  testonly = true
  public_deps = [
    "//topaz/packages/prod:cast_runner",
    "//topaz/packages/prod:chromium",
    "//topaz/packages/prod:dart",
    "//topaz/packages/prod:dart_aot_product_runner",
    "//topaz/packages/prod:dart_aot_runner",
    "//topaz/packages/prod:dart_jit_product_runner",
    "//topaz/packages/prod:dart_jit_runner",
    "//topaz/packages/prod:dart_runner",
    "//topaz/packages/prod:flutter",
    "//topaz/packages/prod:flutter_aot",
    "//topaz/packages/prod:flutter_aot_product",
    "//topaz/packages/prod:flutter_jit",
    "//topaz/packages/prod:flutter_jit_product",
    "//topaz/packages/prod:latin-ime",
    "//topaz/packages/prod:mondrian",
    "//topaz/packages/prod:skottie_viewer",
    "//topaz/packages/prod:story_shell_labs",
    "//topaz/packages/prod:system_dashboard",
    "//topaz/packages/prod:term",
    "//topaz/packages/prod:userpicker_base_shell",
    "//topaz/packages/prod:web_runner",
  ]
}

group("flutter_aot") {
  testonly = true
  public_deps = [
    "//garnet/packages/prod:scenic",
    "//topaz/runtime/flutter_runner:flutter_aot_runner",
  ]
}

group("flutter_aot_product") {
  testonly = true
  public_deps = [
    "//garnet/packages/prod:scenic",
    "//topaz/runtime/flutter_runner:flutter_aot_product_runner",
  ]
}

group("dart_jit_runner") {
  testonly = true
  public_deps = [
    "//topaz/runtime/dart_runner:dart_jit_runner",
  ]
}

group("dart_aot_product_runner") {
  testonly = true
  public_deps = [
    "//topaz/runtime/dart_runner:dart_aot_product_runner",
  ]
}

group("skottie_viewer") {
  testonly = true
  public_deps = [
    "//topaz/bin/ui/skottie_viewer:package",
  ]
}

group("dart_jit_product_runner") {
  testonly = true
  public_deps = [
    "//topaz/runtime/dart_runner:dart_jit_product_runner",
  ]
}

group("userpicker_base_shell") {
  testonly = true
  public_deps = [
    "//topaz/bin/userpicker_base_shell",
    "//topaz/packages/prod:flutter",
  ]
}

group("dart_aot_runner") {
  testonly = true
  public_deps = [
    "//topaz/runtime/dart_runner:dart_aot_runner",
  ]
}

group("dart_runner") {
  testonly = true
  public_deps = [
    "//topaz/packages/prod:dart_aot_product_runner",
    "//topaz/packages/prod:dart_aot_runner",
    "//topaz/packages/prod:dart_jit_product_runner",
    "//topaz/packages/prod:dart_jit_runner",
  ]
}

group("flutter_jit_product") {
  testonly = true
  public_deps = [
    "//garnet/packages/prod:scenic",
    "//topaz/runtime/flutter_runner:flutter_jit_product_runner",
  ]
}

group("latin-ime") {
  testonly = true
  public_deps = [
    "//topaz/app/latin-ime",
  ]
}

group("term") {
  testonly = true
  public_deps = [
    "//src/fonts",
    "//topaz/app/term",
  ]
}

group("story_shell_labs") {
  testonly = true
  public_deps = [
    "//topaz/shell/story_shell_labs:story_shell_labs",
  ]
}

group("chromium") {
  testonly = true
  public_deps = [
    "//topaz/runtime/chromium",
    "//topaz/runtime/chromium:web_runner",
  ]
}

group("mondrian") {
  testonly = true
  public_deps = [
    "//topaz/shell/mondrian_story_shell:mondrian",
  ]
}

group("flutter_jit") {
  testonly = true
  public_deps = [
    "//garnet/packages/prod:scenic",
    "//topaz/runtime/flutter_runner:flutter_jit_runner",
  ]
}

group("cast_runner") {
  testonly = true
  public_deps = [
    "//topaz/runtime/cast_runner",
  ]
}
