# Copyright 2017 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("topaz") {
  testonly = true
  public_deps = [
    # TODO: This target should just aggregate the top-level directories and
    # most of these dependencies should be in those subdirectories.
    "//garnet/packages/benchmarks:buildbot",
    "//garnet/packages/prod:drivers",
    "//garnet/packages/prod:scenic",
    "//src/fonts",
    "//third_party/dart-pkg/git/flutter/examples/flutter_gallery",
    "//topaz:tests",
    "//topaz/app/latin-ime",
    "//topaz/app/spinning_cube",
    "//topaz/bin/fidlgen_dart:install(//build/toolchain:host_x64)",
    "//topaz/bin/system_dashboard",
    "//topaz/bin/ui/skottie_viewer:package",
    "//topaz/bin/userpicker_base_shell",
    "//topaz/examples/fidl/compiler",
    "//topaz/examples/fidl/echo_client_async_dart",
    "//topaz/examples/fidl/echo_server_async_dart",
    "//topaz/examples/ledger/todo_list_sledge",
    "//topaz/examples/ledger/todo_list",
    "//topaz/examples/mediaplayer/mediaplayer_flutter",
    "//topaz/examples/mine_digger",
    "//topaz/examples/ui/button_flutter",
    "//topaz/examples/ui/intl_client_demo",
    "//topaz/examples/ui/jank:package",
    "//topaz/examples/ui/localized_mod",
    "//topaz/examples/ui/noodles",
    "//topaz/examples/ui/paint:package",
    "//topaz/examples/ui/simple_flutter",
    "//topaz/lib/story_shell/examples/example_manual_relationships",
    "//topaz/public/dart/fuchsia_inspect/examples/inspect_mod",
    "//topaz/public/dart/fuchsia_modular/examples/fibonacci_agent",
    "//topaz/public/dart/fuchsia_modular/examples/multilevel_mod",
    "//topaz/public/dart/fuchsia_modular/examples/shapes_mod",
    "//topaz/public/dart/fuchsia_modular/examples/slider_mod",
    "//topaz/public/dart/fuchsia_services/examples/mind_reader/bin:mind_reader_dart",
    "//topaz/public/dart/fuchsia_webview_flutter/examples/webview_mod",
    "//topaz/public/sdk",
    "//topaz/runtime/cast_runner",
    "//topaz/runtime/chromium:web_runner",
    "//topaz/runtime/chromium",
    "//topaz/runtime/dart_runner:dart_aot_product_runner",
    "//topaz/runtime/dart_runner:dart_aot_runner",
    "//topaz/runtime/dart_runner:dart_jit_product_runner",
    "//topaz/runtime/dart_runner:dart_jit_runner",
    "//topaz/runtime/dart_runner/examples/goodbye_dart:goodbye_dart_aot",
    "//topaz/runtime/dart_runner/examples/goodbye_dart:goodbye_dart_jit",
    "//topaz/runtime/dart_runner/examples/hello_app_dart:hello_app_dart_aot",
    "//topaz/runtime/dart_runner/examples/hello_app_dart:hello_app_dart_jit",
    "//topaz/runtime/dart_runner/examples/hello_dart:hello_dart_aot_product",
    "//topaz/runtime/dart_runner/examples/hello_dart:hello_dart_aot",
    "//topaz/runtime/dart_runner/examples/hello_dart:hello_dart_debug",
    "//topaz/runtime/dart_runner/examples/hello_dart:hello_dart_jit_product",
    "//topaz/runtime/dart_runner/examples/hello_dart:hello_dart_jit",
    "//topaz/runtime/dart",
    "//topaz/runtime/flutter_runner:flutter_aot_product_runner",
    "//topaz/runtime/flutter_runner:flutter_aot_runner",
    "//topaz/runtime/flutter_runner:flutter_jit_product_runner",
    "//topaz/runtime/flutter_runner:flutter_jit_runner",
    "//topaz/shell/story_shell_labs",
    "//topaz/tests/benchmarks:all",
    "//topaz/tools/doc_checker:tests(//build/toolchain:host_x64)",
    "//topaz/tools/doc_checker(//build/toolchain:host_x64)",
  ]
}

group("tests") {
  testonly = true
  public_deps = [
    # TODO: This target should just aggregate the top-level directories and
    # most of these dependencies should be in those subdirectories.
    "//garnet/examples/ui:tile_view",
    "//garnet/packages/tests:fidl_compatibility_test_server_cpp",
    "//garnet/packages/tests:fidl_compatibility_test_server_go",
    "//garnet/packages/tests:fidl_compatibility_test_server_llcpp",
    "//garnet/packages/tests:fidl_compatibility_test_server_rust",
    "//garnet/packages/tests:run_test_component",
    "//garnet/packages/tests:scenic",
    "//garnet/packages/tools:scenic",
    "//peridot/packages:peridot",
    "//peridot/packages/prod:integration_testing",
    "//peridot/packages/tests:ledger",
    "//peridot/packages/tests:modular_test_harness",
    "//src/fonts",
    "//topaz/bin/crasher_dart",
    "//topaz/bin/crasher_flutter",
    "//topaz/bin/dart_fidl_json/test:dart_fidl_json_test($host_toolchain)",
    "//topaz/bin/fidl_bindings_test/server:fidl_bindings_test_server",
    "//topaz/bin/fidl_bindings_test/test:fidl_bindings_test",
    "//topaz/bin/fidl_compatibility_test:fidl_compatibility_test_topaz",
    "//topaz/bin/fidl_compatibility_test/dart:fidl_compatibility_test_server_dart",
    "//topaz/bin/fidlgen_dart:fidlgen_dart_backend_ir_test($host_toolchain)",
    "//topaz/bin/fidlgen_dart:fidlgen_dart_backend_test($host_toolchain)",
    "//topaz/bin/flutter_screencap_test:flutter_screencap_test_app",
    "//topaz/bin/flutter_screencap_test",
    "//topaz/bin/ui/benchmarks/image_grid_flutter",
    "//topaz/examples/fidl/compiler",
    "//topaz/examples/fidl/echo_client_async_dart",
    "//topaz/examples/fidl/echo_server_async_dart",
    "//topaz/examples/ledger/todo_list:todo_list_test($host_toolchain)",
    "//topaz/examples/test/driver_example_mod:driver_example_mod_tests",
    "//topaz/examples/test/driver_example_mod",
    "//topaz/examples/test/flutter_widget_test($host_toolchain)",
    "//topaz/lib/keyboard/flutter:keyboard_test($host_toolchain)",
    "//topaz/lib/setui/common:lib_setui_common_test($host_toolchain)",
    "//topaz/lib/setui/flutter:lib_setui_flutter_test($host_toolchain)",
    "//topaz/lib/story_shell/examples/story_shell_test:key_listener_device_tests",
    "//topaz/lib/tiler:tiler_unittests($host_toolchain)",
    "//topaz/public/dart-pkg/zircon:dart_zircon_test",
    "//topaz/public/dart/composition_delegate:composition_delegate_tests($host_toolchain)",
    "//topaz/public/dart/fuchsia_inspect_flutter:inspect_flutter_test($host_toolchain)",
    "//topaz/public/dart/fuchsia_inspect_flutter/examples/torus15:torus15_dart_test",
    "//topaz/public/dart/fuchsia_inspect_flutter/examples/torus15:torus15_flutter_test($host_toolchain)",
    "//topaz/public/dart/fuchsia_inspect_flutter/examples/torus15",
    "//topaz/public/dart/fuchsia_inspect:fuchsia_inspect_package_unittests($host_toolchain)",
    "//topaz/public/dart/fuchsia_inspect/examples/inspect_mod:inspect_mod_test",
    "//topaz/public/dart/fuchsia_inspect/examples/inspect_mod",
    "//topaz/public/dart/fuchsia_inspect/test/inspect_flutter_integration_tester:inspect_dart_integration_test_driver",
    "//topaz/public/dart/fuchsia_inspect/test/inspect_flutter_integration_tester",
    "//topaz/public/dart/fuchsia_inspect/test/integration:dart_inspect_vmo_test_writer",
    "//topaz/public/dart/fuchsia_inspect/test/integration:dart_inspect_vmo_test",
    "//topaz/public/dart/fuchsia_logger:fuchsia_logger_package_unittests($host_toolchain)",
    "//topaz/public/dart/fuchsia_modular_flutter:fuchsia_modular_flutter_unittests($host_toolchain)",
    "//topaz/public/dart/fuchsia_modular_testing:fuchsia_modular_testing_package_integration_tests",
    "//topaz/public/dart/fuchsia_modular:fuchsia_modular_package_integration_tests",
    "//topaz/public/dart/fuchsia_modular:fuchsia_modular_package_unittests($host_toolchain)",
    "//topaz/public/dart/fuchsia_modular/examples/slider_mod:slider_mod_tests",
    "//topaz/public/dart/fuchsia_modular/examples/slider_mod",
    "//topaz/public/dart/fuchsia_scenic_flutter:fuchsia_scenic_flutter_unittests($host_toolchain)",
    "//topaz/public/dart/fuchsia_services:fuchsia_services_foo_test_server",
    "//topaz/public/dart/fuchsia_services:fuchsia_services_package_integration_tests",
    "//topaz/public/dart/fuchsia_services:fuchsia_services_package_unittests($host_toolchain)",
    "//topaz/public/dart/fuchsia_vfs:fuchsia_vfs_package_unittests",
    "//topaz/public/dart/fuchsia_webview_flutter:fuchsia_webview_flutter_target_tests",
    "//topaz/public/dart/fuchsia_webview_flutter:fuchsia_webview_flutter_unittests($host_toolchain)",
    "//topaz/public/dart/sledge:dart_sledge_tests($host_toolchain)",
    "//topaz/public/dart/sledge:sledge_integration_tests",
    "//topaz/public/dart/story_shell_labs:layout_unittests($host_toolchain)",
    "//topaz/public/dart/widgets:dart_widget_tests($host_toolchain)",
    "//topaz/public/dart/zircon:test_extract_zircon_constants($host_toolchain)",
    "//topaz/public/lib/display/flutter:display_test($host_toolchain)",
    "//topaz/runtime/chromium:chromium_prebuilts",
    "//topaz/runtime/chromium:web_runner",
    "//topaz/runtime/chromium",
    "//topaz/runtime/dart_runner/examples/goodbye_dart:goodbye_dart_test",
    "//topaz/runtime/dart_runner/integration:dart_aot_runner_test",
    "//topaz/runtime/dart_runner/integration:dart_jit_runner_test",
    "//topaz/runtime/dart/utils:run_vmservice_object_tests",
    "//topaz/runtime/flutter_runner:flutter_runner_tests",
    "//topaz/tests/fidl-changes",
    "//topaz/tests/fidl-dangerous-identifiers",
    "//topaz/tests/web_runner_tests",
  ]
}

group("dart_unittests") {
  testonly = true

  deps = [
    "examples/test/flutter_widget_test:flutter_widget_test",
    "public/dart/sledge:dart_sledge_tests",
  ]
}

group("deprecated_shell_allowlist") {
  #  ________  _________  ________  ________
  # |\   ____\|\___   ___\\   __  \|\   __  \
  # \ \  \___|\|___ \  \_\ \  \|\  \ \  \|\  \
  #  \ \_____  \   \ \  \ \ \  \\\  \ \   ____\
  #   \|____|\  \   \ \  \ \ \  \\\  \ \  \___|
  #     ____\_\  \   \ \__\ \ \_______\ \__\
  #    |\_________\   \|__|  \|_______|\|__|
  #    \|_________|
  # This is an allowlist of packages that have components manifests that include
  # the "deprecated-shell" feature. Do not add to this list. If the manifest
  # does not otherwise include the feature you need, please file a feature
  # request for that fine-grained feature to help us support least-privileged
  # components.
  visibility = [
    "//topaz/bin/flutter_screencap_test:flutter_screencap_test_pkg",
    "//topaz/examples/test/driver_example_mod:driver_example_mod_tests_pkg",
    "//topaz/public/dart/fuchsia_inspect/examples/inspect_mod:inspect_mod_test_pkg",
    "//topaz/public/dart/fuchsia_inspect/test/inspect_flutter_integration_tester:inspect_dart_integration_test_driver_pkg",
    "//topaz/public/dart/fuchsia_inspect/test/integration:dart_inspect_vmo_test",
    "//topaz/public/dart/fuchsia_modular/examples/slider_mod:slider_mod_tests_pkg",
    "//topaz/tests/benchmarks/input_latency:topaz_input_latency_benchmarks",
  ]
}

group("rootjob_svc_allowlist") {
  #  ________  _________  ________  ________
  # |\   ____\|\___   ___\\   __  \|\   __  \
  # \ \  \___|\|___ \  \_\ \  \|\  \ \  \|\  \
  #  \ \_____  \   \ \  \ \ \  \\\  \ \   ____\
  #   \|____|\  \   \ \  \ \ \  \\\  \ \  \___|
  #     ____\_\  \   \ \__\ \ \_______\ \__\
  #    |\_________\   \|__|  \|_______|\|__|
  #    \|_________|
  # This is an allowlist of packages that have components manifests that include
  # the "fuchsia.boot.RootJob" service. This is a highly privileged service that vends
  # out a very powerful capability. Do not add yourself to this unless this is the only
  # way to accomplish your goal and you have talked to the security team about this.
  visibility = [
    "//topaz/tests/benchmarks/input_latency:topaz_input_latency_benchmarks",
  ]
}
