blob: 0364f1074f4142c512ed0b458d8f57b38d22b04c [file] [log] [blame]
# Copyright 2019 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.
group("build") {
testonly = true
deps = [ ":tests" ]
}
# The tests listed in this target will be built by the default build.
group("tests") {
testonly = true
deps = [
"bazel:tests",
"fidl:tests",
"go:tests",
"licenses:tests",
"python:tests",
"rbe:tests",
"rust:tests",
"sdk:tests",
"tools:tests",
"tracer:tests",
]
}
group("non_hermetic_deps") {
# ________ _________ ________ ________
# |\ ____\|\___ ___\\ __ \|\ __ \
# \ \ \___|\|___ \ \_\ \ \|\ \ \ \|\ \
# \ \_____ \ \ \ \ \ \ \\\ \ \ ____\
# \|____|\ \ \ \ \ \ \ \\\ \ \ \___|
# ____\_\ \ \ \__\ \ \_______\ \__\
# |\_________\ \|__| \|_______|\|__|
# \|_________|
# This is an allowlist of actions with `hermetic_deps = false` or
# `hermetic_action_ignored_prefixes != []`.
#
# Introducing new actions that are non-hermetic is not allowed.
# A cleanup is in progress. See:
# https://fuchsia.dev/fuchsia-src/contribute/open_projects/build/hermetic_actions
#
# For more information about hermetic build actions:
# https://fuchsia.dev/fuchsia-src/development/build/hermetic_actions
#
# Maintainers will accept changes to the allowlist below that support
# refactors, such as moving a legacy target to a different directory.
#
# To regenerate:
# { fx gn refs $(fx get-build-dir) '//build:non_hermetic_deps'; fx gn refs $(fx get-build-dir) '//build:non_hermetic_deps(//build/toolchain:host_x64)'; } | sed 's|\([^:]*\):.*|"\1/*",|' | sort | uniq
visibility = [
"//third_party/crashpad/src/*",
"//third_party/pylibs/mypy/*",
"//tools/gn_desc:gn_desc.json",
"//vendor/*",
"//zircon/kernel/lib/version/*",
]
# See: fxrev.dev/528291
visibility += [ "//build/rust:*" ]
# See: https://fxbug.dev/42148579
visibility += [ "//sdk:cts_generate" ]
# See: https://fxbug.dev/42121352
visibility += [
"//sdk:*",
"//sdk/firmware:*",
]
# TODO(https://fxbug.dev/42174306): Remove entries when
# assembly and board input bundle creation no longer triggers false-positives
# in the action_tracer.py due to how it cleans it's dynamic outputs.
visibility += [
"//boards/*",
"//bundles/assembly/*",
]
# TODO(b/314016615): tar_to_pkg() template is not hermetic
visibility += [ "//src/starnix/containers/alpine/*" ]
# //build/images/assemble_system.gni needs `hermetic_deps = false`, and that
# will not be resolved except by moving to Bazel.
visibility += [
"//build/images/*",
"//src/bringup/lib/mexec/tests/*",
"//src/lib/elfldltl/test/*",
"//src/security/lib/scrutiny/plugins/*",
"//src/security/lib/scrutiny/tests/*",
"//src/security/tests/pkg_test/tests/*",
"//src/security/tests/scrutiny_ffx_integration/*",
"//src/sys/component_manager/tests/fuchsia_boot_resolver:*",
"//src/tests/assembly/*",
"//src/tests/kernel_cprng/*",
"//third_party/network-conformance/images/*",
"//zircon/kernel/*",
"//zircon/system/*",
]
# TODO(https://fxbug.dev/42176361): Remove entry when action tracer can handle ld.lld invocations.
visibility += [ "//src/graphics/lib/magma/src/libmagma:*" ]
# TODO(https://fxbug.dev/42060773): Hermetic deps checking is disabled on build_id_entry
visibility += [ "//third_party/intel/media-driver/fuchsia:*" ]
# These repos are not in the default checkout.
visibility += [
# This git repo is only checked out when the vulkan-cts attribute is set.
"//third_party/arm-mali-bifrost/*",
"//third_party/vulkan-cts/fuchsia/*",
]
# TODO(https://fxbug.dev/42168642): Remove this entry when it no longer executes
# fx tools.
visibility += [ "//tools/docsgen:invoke_helpdoc" ]
# Documentation generation needs to access toolchain's include headers.
visibility += [
"//sdk/lib/fdio:docs_clang_doc",
"//tools/cppdocgen/e2e_test:*",
]
# Unit tests for the ffx e2e library make their own amber-files to test universe package resolve.
visibility += [ "//src/developer/ffx/lib/e2e_emu:*" ]
# The Bazel workspace that exposes Ninja outputs as Bazel inputs
# is generated by an action that has unspecified outputs.
visibility += [
"//build/assembly/scripts:bazel_assembly_input_bundle_tool",
"//build/bazel:*",
"//build/bazel/assembly/*",
"//build/bazel/bazel_sdk:*",
"//build/bazel/bazel_sdk/tests:*",
"//build/bazel/examples/*",
"//build/bazel/tests/*",
"//sdk/lib/driver/devicetree/*",
"//src/devices/board/drivers/vim3-devicetree:*",
"//src/devices/gpio/drivers/aml-gpio:*",
"//src/devices/i2c/drivers/aml-i2c:*",
"//src/devices/usb/drivers/aml-usb-phy:*",
"//src/media/audio/drivers/aml-g12-tdm:*",
]
# Bluetooth Bazel test packages are wrapped in the bazel_fuchsia_test_package
# GN rule, which has unspecified outputs.
# bt-host tests will be migrated out-of-tree.
visibility += [
"//src/connectivity/bluetooth/core/bt-host/att:test_pkg",
"//src/connectivity/bluetooth/core/bt-host/att:test_pkg.bazel_build",
"//src/connectivity/bluetooth/core/bt-host/common:test_pkg",
"//src/connectivity/bluetooth/core/bt-host/common:test_pkg.bazel_build",
"//src/connectivity/bluetooth/core/bt-host/gap:test_pkg",
"//src/connectivity/bluetooth/core/bt-host/gap:test_pkg.bazel_build",
"//src/connectivity/bluetooth/core/bt-host/gatt:test_pkg",
"//src/connectivity/bluetooth/core/bt-host/gatt:test_pkg.bazel_build",
"//src/connectivity/bluetooth/core/bt-host/hci:test_pkg",
"//src/connectivity/bluetooth/core/bt-host/hci:test_pkg.bazel_build",
"//src/connectivity/bluetooth/core/bt-host/hci-spec:test_pkg",
"//src/connectivity/bluetooth/core/bt-host/hci-spec:test_pkg.bazel_build",
"//src/connectivity/bluetooth/core/bt-host/iso:test_pkg",
"//src/connectivity/bluetooth/core/bt-host/iso:test_pkg.bazel_build",
"//src/connectivity/bluetooth/core/bt-host/l2cap:test_pkg",
"//src/connectivity/bluetooth/core/bt-host/l2cap:test_pkg.bazel_build",
"//src/connectivity/bluetooth/core/bt-host/sco:test_pkg",
"//src/connectivity/bluetooth/core/bt-host/sco:test_pkg.bazel_build",
"//src/connectivity/bluetooth/core/bt-host/sdp:test_pkg",
"//src/connectivity/bluetooth/core/bt-host/sdp:test_pkg.bazel_build",
"//src/connectivity/bluetooth/core/bt-host/sm:test_pkg",
"//src/connectivity/bluetooth/core/bt-host/sm:test_pkg.bazel_build",
"//src/connectivity/bluetooth/core/bt-host/socket:test_pkg",
"//src/connectivity/bluetooth/core/bt-host/socket:test_pkg.bazel_build",
"//src/connectivity/bluetooth/core/bt-host/testing:test_pkg",
"//src/connectivity/bluetooth/core/bt-host/testing:test_pkg.bazel_build",
"//src/connectivity/bluetooth/core/bt-host/transport:test_pkg",
"//src/connectivity/bluetooth/core/bt-host/transport:test_pkg.bazel_build",
]
# Products which use Bazel-based assembly have non-hermetic outputs
visibility += [
"//products/microfuchsia:*",
"//products/minimal:*",
"//products/workbench:*",
]
# FIXME(https://fxbug.dev/42072939): //build/packages/prebuilt_packages.gni
# needs `hermetic_action_ignored_prefixes`. Remove these entries when
# `prebuilt_package` is hermetic.
visibility += [
"//examples/fortune:fortune_teller",
"//sdk/ctf:*",
"//sdk/ctf/release:*",
"//sdk/ctf/release/packages:*",
"//src/chromium:chromium_common_tests_base_unittests",
"//src/chromium:chromium_common_tests_blink_common_unittests",
"//src/chromium:chromium_common_tests_ipc_tests",
"//src/chromium:chromium_common_tests_media_unittests",
"//src/chromium:chromium_common_tests_mojo_unittests",
"//src/chromium:chromium_common_tests_skia_unittests",
"//src/chromium:chromium_web_engine_tests_web_engine_integration_tests",
"//src/chromium:web_engine_pkg",
"//src/chromium:web_engine_shell_pkg",
"//src/connectivity/bluetooth/core/bt-host:bt-host-oot",
"//src/connectivity/wlan/drivers/third_party/intel/iwlwifi:iwlwifi",
"//src/connectivity/wlan/tools/third_party/broadcom:wl_pkg",
"//src/devices/rtc/drivers/nxp:pcf8563",
"//src/diagnostics/archivist/tests/pipeline_test:*",
"//src/graphics/drivers/arm-mali/icd:libvulkan_arm_g52_r0p0",
"//src/graphics/drivers/msd-arm-mali:msd-arm-mali-oot",
"//src/ui/backlight/drivers:chromebook-keyboard-backlight",
]
# TODO(https://fxbug.dev/42165766): License analysis uses the output of 'fx gn gen', which
# can potentially touch every file in the repository. Remove this entry when license
# management becomes a hermetic process.
visibility += [ "//tools/check-licenses/util/cmd/gn/*" ]
visibility += [
"//src/tests/early-boot-coverage/*",
"//zircon/kernel/lib/userabi/userboot/tests:*",
]
# TODO(https://fxbug.dev/331492588): Template driver example wraps Bazel output in Ninja, and
# depends on non_hermetic_deps.
visibility += [ "////examples/drivers/template:*" ]
}
# Build targets that use the legacy zx_library and zx_host_tool templates
# need to depend on the target below and appear in the visibility list.
# Please don't introduce new uses of these wrappers. Rather:
#
# Instead of zx_library, please use one of the following templates:
# - source_set
# - sdk_source_set
# - static_library
# - sdk_static_library
# - shared_library
# - sdk_shared_library
#
# Instead of zx_host_tool, use executable and set host_toolchain as needed.
#
# See: https://fuchsia.dev/fuchsia-src/contribute/open_projects/build/zx_wrappers_deprecation
group("deprecated_zx_wrapper_allowlist") {
visibility = [
"//sdk/lib/fdio:*",
"//sdk/lib/fit:*",
"//sdk/lib/fit-promise:*",
"//sdk/lib/stdcompat:*",
"//src/devices/block/lib/scsi:*",
"//src/devices/bus/lib/device-protocol-pdev:*",
"//src/devices/bus/lib/virtio:*",
"//src/devices/bus/testing/mock-sdio:*",
"//src/devices/i2c/lib/device-protocol-i2c-channel:*",
"//src/devices/i2c/testing/fake-i2c:*",
"//src/devices/i2c/testing/mock-i2c:*",
"//src/devices/lib/amlogic:*",
"//src/devices/lib/broadcom:*",
"//src/devices/lib/dev-operation:*",
"//src/devices/lib/dma-buffer:*",
"//src/devices/lib/driver-info:*",
"//src/devices/lib/focaltech:*",
"//src/devices/lib/mmio:*",
"//src/devices/lib/synchronous-executor:*",
"//src/devices/lib/thermal:*",
"//src/devices/lib/ti:*",
"//src/devices/pci/lib/device-protocol-pci:*",
"//src/devices/pci/lib/pci:*",
"//src/devices/rtc/lib/rtc:*",
"//src/devices/testing/fake-bti:*",
"//src/devices/testing/fake-dma-buffer:*",
"//src/devices/testing/fake-mmio-reg:*",
"//src/devices/testing/fake-msi:*",
"//src/devices/testing/fake-object:*",
"//src/devices/testing/fake-resource:*",
"//src/firmware/lib/abr:*",
"//src/firmware/lib/zbi:*",
"//src/firmware/lib/zircon_boot:*",
"//src/lib/elfldltl:*",
"//src/lib/llvm-profdata:*",
"//src/lib/trivial-allocator:*",
"//src/lib/zbitl:*",
"//src/lib/zxdump:*",
"//src/media/audio/drivers/lib/audio-driver-proto:*",
"//src/media/audio/drivers/lib/audio-proto-utils:*",
"//src/media/audio/drivers/lib/audio-utils:*",
"//src/media/audio/drivers/lib/intel-hda:*",
"//src/media/audio/lib/simple-codec:*",
"//src/storage/gpt:*",
"//src/storage/lib/disk_inspector:*",
"//src/storage/lib/paver:*",
"//src/storage/lib/watchdog:*",
"//src/ui/input/testing/fake-hidbus-ifc:*",
"//src/ui/input/testing/mock-hidbus-ifc:*",
"//third_party/android/platform/external/avb:*",
"//zircon/kernel/arch/x86/phys:*",
"//zircon/kernel/dev/coresight:*",
"//zircon/kernel/lib/acpi_lite:*",
"//zircon/kernel/lib/arch:*",
"//zircon/kernel/lib/arch/arm64:*",
"//zircon/kernel/lib/arch/arm86:*",
"//zircon/kernel/lib/arch/host:*",
"//zircon/kernel/lib/arch/x86:*",
"//zircon/kernel/lib/boot-options:*",
"//zircon/kernel/lib/counters:*",
"//zircon/kernel/lib/devicetree:*",
"//zircon/kernel/lib/efi:*",
"//zircon/kernel/lib/special-sections:*",
"//zircon/kernel/phys/lib/boot-shim:*",
"//zircon/kernel/phys/lib/memalloc:*",
"//zircon/kernel/phys/lib/page-table:*",
"//zircon/system/ulib/abs_clock:*",
"//zircon/system/ulib/affine:*",
"//zircon/system/ulib/async:*",
"//zircon/system/ulib/async-default:*",
"//zircon/system/ulib/async-loop:*",
"//zircon/system/ulib/async-testing:*",
"//zircon/system/ulib/bitmap:*",
"//zircon/system/ulib/closure-queue:*",
"//zircon/system/ulib/cmdline:*",
"//zircon/system/ulib/ddk-platform-defs:*",
"//zircon/system/ulib/debugdata:*",
"//zircon/system/ulib/driver-unit-test:*",
"//zircon/system/ulib/elf-search:*",
"//zircon/system/ulib/explicit-memory:*",
"//zircon/system/ulib/fbl:*",
"//zircon/system/ulib/fdio-caller:*",
"//zircon/system/ulib/ffl:*",
"//zircon/system/ulib/fs-host:*",
"//zircon/system/ulib/fzl:*",
"//zircon/system/ulib/gfx:*",
"//zircon/system/ulib/hwreg:*",
"//zircon/system/ulib/hwreg-i2c:*",
"//zircon/system/ulib/hwreg/test/asm:*",
"//zircon/system/ulib/id_allocator:*",
"//zircon/system/ulib/image-format:*",
"//zircon/system/ulib/inspect:*",
"//zircon/system/ulib/inspector:*",
"//zircon/system/ulib/io-scheduler:*",
"//zircon/system/ulib/kcounter:*",
"//zircon/system/ulib/kernel-debug:*",
"//zircon/system/ulib/ktrace:*",
"//zircon/system/ulib/lazy_init:*",
"//zircon/system/ulib/ldmsg:*",
"//zircon/system/ulib/lockdep:*",
"//zircon/system/ulib/mbr:*",
"//zircon/system/ulib/mini-process:*",
"//zircon/system/ulib/mmio-ptr:*",
"//zircon/system/ulib/mock-boot-arguments:*",
"//zircon/system/ulib/mock-function:*",
"//zircon/system/ulib/page_tables:*",
"//zircon/system/ulib/perftest:*",
"//zircon/system/ulib/pretty:*",
"//zircon/system/ulib/processargs:*",
"//zircon/system/ulib/profile:*",
"//zircon/system/ulib/ram-crashlog:*",
"//zircon/system/ulib/range:*",
"//zircon/system/ulib/refcount:*",
"//zircon/system/ulib/region-alloc:*",
"//zircon/system/ulib/runtests-utils:*",
"//zircon/system/ulib/runtime:*",
"//zircon/system/ulib/smbios:*",
"//zircon/system/ulib/spi:*",
"//zircon/system/ulib/storage-metrics:*",
"//zircon/system/ulib/storage/buffer:*",
"//zircon/system/ulib/storage/operation:*",
"//zircon/system/ulib/svc:*",
"//zircon/system/ulib/sync:*",
"//zircon/system/ulib/sysconfig-client:*",
"//zircon/system/ulib/syslog:*",
"//zircon/system/ulib/sysmem-connector:*",
"//zircon/system/ulib/sysmem-version:*",
"//zircon/system/ulib/task-utils:*",
"//zircon/system/ulib/test-exceptions:*",
"//zircon/system/ulib/test-utils:*",
"//zircon/system/ulib/tftp:*",
"//zircon/system/ulib/thread-safe-deleter:*",
"//zircon/system/ulib/trace:*",
"//zircon/system/ulib/trace-engine:*",
"//zircon/system/ulib/trace-provider:*",
"//zircon/system/ulib/trace-reader:*",
"//zircon/system/ulib/trace-test-utils:*",
"//zircon/system/ulib/trace-vthread:*",
"//zircon/system/ulib/uart:*",
"//zircon/system/ulib/usb-peripheral-utils:*",
"//zircon/system/ulib/usb-virtual-bus-launcher:*",
"//zircon/system/ulib/virtio:*",
"//zircon/system/ulib/xdc-host-utils:*",
"//zircon/system/ulib/xdc-server-utils:*",
"//zircon/system/ulib/zircon-internal:*",
"//zircon/system/ulib/zx:*",
"//zircon/system/ulib/zx-panic-libc:*",
"//zircon/third_party/ulib/cksum:*",
"//zircon/third_party/ulib/linenoise:*",
"//zircon/third_party/ulib/lz4:*",
"//zircon/tools/lz4:*",
"//zircon/tools/zbi:*",
]
}
# TODO(https://fxbug.dev/42176904): to be populated.
group("output_dir_leaking_allowlist") {
visibility = [ "*" ]
}
group("config_data_template_allowlist") {
visibility = [
"//build/images/*",
"//src/cobalt/bin/app:*",
"//src/connectivity/lowpan/drivers/lowpan-ot-driver:config-default",
"//src/connectivity/policy/netcfg:config-default",
"//src/connectivity/weave/weavestack:config",
"//src/connectivity/wlan/wlancfg:config",
"//src/developer/forensics:exceptions_enable_jitd_on_startup",
"//src/developer/forensics:feedback_user_config_for_eng",
"//src/developer/forensics:feedback_userdebug_config_for_eng",
"//src/developer/memory/buckets",
"//src/developer/memory/monitor:userdebug_config",
"//src/developer/sshd-host:authorized_ssh_keys_config_data",
"//src/developer/sshd-host:config",
"//src/diagnostics/config/persistence:persistence",
"//src/diagnostics/config/pipelines/all:all_selectors",
"//src/diagnostics/config/triage:brcmfmac-detect",
"//src/diagnostics/config/triage:mali-detect",
"//src/diagnostics/config/triage:omaha-client-detect",
"//src/diagnostics/detect:enable-report-filing",
"//src/experiences/session_shells/ermine/login:default_config",
"//src/experiences/session_shells/ermine/login:images",
"//src/experiences/session_shells/ermine/shell:images",
"//src/factory/factory_store_providers/config/qemu:alpha",
"//src/factory/factory_store_providers/config/qemu:cast",
"//src/factory/factory_store_providers/config/qemu:misc",
"//src/factory/factory_store_providers/config/qemu:playready",
"//src/factory/factory_store_providers/config/qemu:widevine",
"//src/firmware/fastboot-tcp:fastboot_tcp_mdns_config",
"//src/graphics/lib/goldfish-vulkan/gnbuild:goldfish-config",
"//src/hwinfo:default_board_config",
"//src/media/audio/config:chromebook-config",
"//src/power/metrics-logger:*",
"//src/security/lib/scrutiny/tests/*",
"//src/security/tests/pkg_test/config:pkg_resolver_repository_config",
"//src/security/tests/scrutiny_ffx_integration:empty_config",
"//src/settings/config:workstation_eng_agent_config",
"//src/settings/config:workstation_eng_interface_config",
"//src/sys/component_manager:component_id_index_for_debug_config-config-data",
"//src/sys/component_manager/tests/fuchsia_boot_resolver:empty_config",
"//src/sys/pkg/bin/omaha-client:*",
"//src/sys/pkg/bin/omaha-client:omaha-client-config",
"//src/sys/pkg/bin/pkg-resolver:*",
"//src/sys/pkg/bin/system-update-checker:*",
"//src/sys/pkg/bin/system-update-committer:*",
"//src/sys/pkg/tests/system-update-checker:*",
"//src/ui/a11y/lib/semantics/tests:__single-font-collection_local_font_bundle_config_data",
"//src/ui/a11y/lib/semantics/tests:single-font-collection_font_manifest_config_data",
"//src/ui/scenic/config:chromebook",
"//third_party/network-conformance/*",
"//vendor/google/*",
"//vendor/third_party/cobalt_registry:cobalt_registry",
"//zircon/kernel/lib/userabi/userboot/tests:*",
]
}