# 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/core.gni")

core_realm_package_name = "core-terminal"

legacy_base_package_labels += [
  "//src/fonts",
  "//src/intl/intl_services/config:sysmgr",
  "//src/intl/intl_services:pkg",
]
legacy_base_package_labels -= [
  # TODO(fxbug.dev/90430): Complete CFv2 migration and remove.
  "//src/intl/intl_services/config:sysmgr_small",
]

# Add UI core shard on terminal.
core_realm_shards += [ "//src/ui:ui_with_root_presenter_core_shard" ]

# Remove intl_services default shards that were added in core.gni.
core_realm_shards += [ "//src/intl/intl_services:intl_services_shard" ]
core_realm_shards -= [ "//src/intl/intl_services:intl_services_small_shard" ]

# Add build type config data
legacy_base_package_labels += [
  "//src/cobalt/bin/app:build_type_eng",
  "//src/fonts:build_type_eng",
]

legacy_cache_package_labels += [
  "//src/fonts/collections:small-open-fonts-collection",
  "//src/ui:runtime_with_root_presenter",
  "//src/ui/bin/terminal",
  "//src/ui/tools/tiles",
]

# 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(fxbug.dev/9892): Support a package server on bots so this can be added to
# universe like the tests.
legacy_cache_package_labels += [
  # Used for Chromium tests for example:
  #    //src/chromium/web_runner_tests:tests
  "//src/testing/fidl/intl_property_manager",

  # Used to mock out display hardware.
  "//src/ui/bin/hardware_display_controller_provider",

  # General end to end dependencies.
  "//src/tests/end_to_end/bundles:end_to_end_deps",
  "//src/tests/end_to_end/bundles:terminal_end_to_end_deps",

  # CFv2 test framework.
  "//src/sys/run_test_suite",

  # Fake build info service
  "//src/developer/build_info/testing:testing",
]

# Add SDK tools set to "cache" so these tools are automatically available in
# QEMU images generated for the SDK, but in cache, so they can be updated.
legacy_cache_package_labels += [ "//sdk/bundles:tools" ]

core_realm_shards += [
  "//src/media/codec:codec_factory_shard",
  "//src/media/audio/audio_core/v2:core_shard",
]

# Add cfv2 sl4f to base.
core_realm_shards += [ "//src/testing/sl4f:sl4f_terminal_core_shard" ]
legacy_base_package_labels += [ "//src/sys/bin/start_sl4f" ]

legacy_universe_package_labels += [
  # 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.
  "//src/tests/end_to_end/screen_is_not_black:tiles_test",
  "//src/tests/end_to_end/sl4f:test",
  "//src/tests/end_to_end/perf:test",
  "//src/tests/end_to_end/time_sync:test",

  # Only for products in which Flutter is supported.
  "//src/tests/intl/timezone:tests-for-flutter",
]

# Use the product assembly config file to specify the product configuration.
fuchsia_product_assembly_config_file =
    "//build/assembly/empty_product_config.json"
