blob: 2be6e6efe5d115abe5cfd126e2455ae7e6ba637c [file] [log] [blame]
# Copyright 2022 The Fuchsia Authors.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
import("//products/common/workstation.gni")
# Add build type config data
legacy_base_package_labels += [
"//src/cobalt/bin/app:build_type_eng",
"//src/fonts:build_type_eng",
]
legacy_base_package_labels += [ "//src/developer/ssh-key-manager" ]
# TODO: Remove this once Scenic supports multiple displays.
legacy_base_package_labels -= [ "//src/sys/stash:pkg" ]
legacy_base_package_labels += [ "//src/sys/stash:pkg_eng" ]
# Used by integration tests to inject v1 networking components.
legacy_base_package_labels +=
[ "//src/connectivity/network:network-legacy-deprecated" ]
# Setting service configuration
legacy_base_package_labels +=
[ "//src/settings/config:workstation_eng_interface_config" ]
# Improve DX by allowing iteration on these packages without and OTA.
_developer_packages = [
"//src/sys/activity",
"//src/intl/intl_services:pkg",
"//src/media/audio/bundles:services",
"//src/power:battery",
"//src/ui:runtime_with_scene_manager",
"//src/ui/bin/brightness_manager",
"//src/ui/bin/screensaver",
"//src/ui/bin/shortcut",
"//src/experiences/bin/settings/license:license_settings",
"//src/experiences/session_shells/ermine",
"//src/media/playback/bundles:services",
"//src/media/playback/bundles:audio_consumer_config",
"//src/session",
"//src/ui/bin/terminal",
"//src/ui/scenic",
"//examples/fortune:fortune_teller",
# Starnix
"//src/proc/bundles:starnix",
]
legacy_base_package_labels -= _developer_packages
legacy_cache_package_labels += _developer_packages
# Add examples to universe.
legacy_universe_package_labels += [
"//examples/fidl:tests",
"//src/lib/ui/carnelian:examples",
# TODO(fxb/102262): This is an anti-pattern, do not imitate. Remove when we are ready.
"//bundles/drivers:conformance-tests",
]
# E2E Product Tests. Currently used for Chrome smoke test.
# They don't produce fuchsia packages, but host executables used by the tests.
host_labels += [ "//src/experiences/tests/chrome:test" ]
# Set the SWD policy for workstation_eng, details can be found in //build/security/policies_swd.gni.
policy_labels.swd = "unrestricted"
# 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: web_runner_tests.
"//src/testing/fidl/intl_property_manager",
# Used for Chromium e2e tests. See fxb/96503.
"//src/experiences/session_shells/ermine/tools",
"//src/tests/end_to_end/bundles:end_to_end_deps",
"//src/experiences/tests/e2e:end_to_end_deps",
"//src/experiences/tests/performance:performance_deps",
# CFv2 test framework.
"//src/sys/run_test_suite",
# Fake build info for testing support.
"//src/developer/build_info/testing:testing",
]
# E2E Product Tests. They don't produce fuchsia packages, but host executables
# used by the tests.
host_labels += [
"//src/experiences/tests/e2e:test",
"//src/experiences/tests/performance:test",
"//src/tests/end_to_end/copy_files:test",
]
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",
"//src/tests/end_to_end/sl4f:test",
"//src/tests/end_to_end/time_sync:test",
# Only for products in which Flutter is supported.
"//src/tests/intl/timezone:tests-for-flutter",
"//src/fonts:open-fonts",
]
# 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:core-tools" ]
# Add cfv2 sl4f to base.
core_realm_shards += [ "//src/testing/sl4f:sl4f_terminal_core_shard" ]
legacy_base_package_labels += [ "//src/sys/bin/start_sl4f" ]
# Enable the live_usb component.
with_live_usb = true
product_bootfs_labels += [ "//src/sys/live_usb:live_usb_is_system" ]
# Build with both JIT and AOT non-product runners. JIT is used for debug builds, and AOT is used
# for release builds.
legacy_cache_package_labels += [
"//src/dart:dart_jit",
"//src/flutter:flutter_jit",
"//src/dart:dart_aot",
"//src/flutter:flutter_aot",
]
# Use the product assembly config file to specify the session manager (and the
# deps for the session).
fuchsia_product_assembly_config_label = "//products/workstation"
fuchsia_product_assembly_config_file = "${root_build_dir}/obj/products/workstation/workstation/product_assembly_config.json"
# Remove some packages.
legacy_base_package_labels -= [ "//src/virtualization/packages/termina_guest" ]
# TODO(fxbug.dev/102651): Remove this setting when Subpackages is made
# generally available. For now, the workstation product configuration will
# enable subpackages so subpackage tests will be executed in CQ. Currently,
# tests that use subpackages are only loaded by the universe resolver.
#
# Otherwise, to enable subpackages locally, add the following `fx set`
# flags, depending on which resolver(s) are used for which tests:
# fx set ... \
# --args='universe_resolver_enable_subpackages=true'
# and/or:
# --args='base_resolver_enable_subpackages=true'
universe_resolver_enable_subpackages = true