# 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 += [
  "//examples/fidl:tests",

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