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