# 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",
  "//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/session",
  "//src/ui/bin/brightness_manager",
  "//src/ui/bin/shortcut",
  "//third_party/dart-pkg/git/flutter/examples/flutter_gallery",
]

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",
  "//src/tests/end_to_end/can_browse_web:test",
]
