# Copyright 2022 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")

legacy_base_package_labels += [ "//src/media/audio/bundles:services" ]

# Remove as much as possible from core to produce a minimal headless system. We
# eventually have to reintroduce some of these packages to support a fully
# functional product. See fxbug.dev/92985 for milestone progress.
legacy_base_package_labels -= [
  "//src/cobalt/bin/app:cobalt",
  "//src/cobalt/bin/app:cobalt_registry",
  "//src/cobalt/bin/app:config",
  "//src/cobalt/bin/system-metrics:cobalt_system_metrics",
  "//src/developer/memory/monitor",
  "//src/developer/forensics:pkg",
  "//src/developer/forensics/snapshot:pkg",
  "//src/diagnostics/config/persistence",
  "//src/diagnostics/config/triage:triage-detect",
  "//src/diagnostics/detect:triage-detect",
  "//src/diagnostics/kcounter:diagnostics-kcounter",
  "//src/diagnostics/persistence:diagnostics-persistence",
  "//src/diagnostics/log-stats:package",
  "//src/diagnostics/sampler",
  "//src/connectivity/bluetooth:core",
  "//src/intl/intl_services:pkg_small",

  # TODO(fxbug.dev/90430): Complete CFv2 migration and remove.
  "//src/intl/intl_services/config:sysmgr_small",
  "//src/intl/intl_services/config:sysmgr_small_timezones",
  "//src/media/audio/bundles:services",
  "//src/media/audio/bundles:audio_config",
  "//src/settings/service:setui_service",
  "//src/sys/activity",
]

# Remove intl_services default shards that were added in core.gni.
core_realm_shards -= [
  "//src/intl/intl_services:intl_services_small_core_shard",
  "//src/intl/intl_services:intl_services_small_timezones_core_shard",
]

legacy_cache_package_labels += []

legacy_universe_package_labels += []

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