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

import("//products/terminal.gni")

base_package_labels -= [
  "//garnet/bin/terminal:tiles_config",
  "//src/ui/bin/root_presenter",
  "//src/ui/bin/root_presenter:configs",
]

base_package_labels += [
  "//garnet/packages/config:shortcut",
  "//src/chromium:web_engine",
  "//src/dart:dart_jit",
  "//src/dart:dart_jit_product",
  "//src/experiences/bin/simple_browser:web_engine_config",
  "//src/experiences/session_shells/ermine",
  "//src/experiences/session_shells/ermine/session:session_config",
  "//src/experiences/settings",
  "//src/flutter",
  "//src/fonts",
  "//src/fonts:open-fonts-collection",
  "//src/identity/bin:tier_2",
  "//src/session",
  "//src/ui/bin/brightness_manager",
  "//src/ui/bin/shortcut",
  "//third_party/openssh-portable:openssh-tools",
]

cache_package_labels -= [ "//src/ui/tools/tiles" ]

cache_package_labels += [
  "//src/experiences/bin/simple_browser",
  "//src/media/audio/bundles:services",
  "//src/power:battery",
]

universe_package_labels -= [
  # Workstation needs the "yes basemgr" test, see below.
  # The test below is included with terminal.gni.
  "//src/tests/end_to_end/screen_is_not_black:no_basemgr_test",
]

universe_package_labels += [
  "//examples/fidl/echo_client/cpp:echo_client",
  "//examples/fidl/echo_server/cpp:echo_server",

  # The "yes basemgr" test.
  "//src/tests/end_to_end/screen_is_not_black:test",
  "//src/ui/examples:bouncing_ball",
  "//src/ui/examples:spinning_square_view",
]

universe_package_labels -= [ "//src/tests/end_to_end/perf:test" ]

kernel_cmdline_args += [
  # hide the virtual console on boot
  "virtcon.hide-on-boot",
]

# End to end (E2E) product test runtime dependencies. Must be added to cache,
# not universe, so the test can run on bots where there is no package server.
#
# TODO(IN-1097): Support a package server on bots so this can be added to
# universe like the tests.
cache_package_labels += [
  "//src/tests/end_to_end/bundles:end_to_end_deps",
  "//src/tests/end_to_end/bundles:workstation_end_to_end_deps",
]

cache_package_labels -=
    [ "//src/tests/end_to_end/bundles:terminal_end_to_end_deps" ]

# E2E Product Tests. They don't produce fuchsia packages, but host executables,
# and must just be included somewhere in the build configuration of the product.
universe_package_labels += [
  "//src/experiences/tests/e2e:test",

  # TODO(47690): Reenable can_browse_web test when we have a working
  # replacement for `sessionctl add_mod`
  # "//src/tests/end_to_end/can_browse_web:test",
  "//src/tests/end_to_end/inspect_metrics:test",
  "//src/tests/end_to_end/copy_files:test",
]
