# 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_with_terminal_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 += [
  "//src/ui/examples:spinning_square_view",
  "//src/ui/examples:bouncing_ball",
  "//examples/fidl/echo_client/cpp:echo_client",
  "//examples/fidl/echo_server/cpp:echo_server",
]

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",
]
