| # 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 |