blob: 426733d4ad53d0f81f9f551f67f50eec3e3e6710 [file] [log] [blame]
# 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("//build/fidl/toolchain.gni")
import("//build/sdk/sdk_molecule.gni")
# The list of FIDL libraries distributed in the partner IDK.
# Targets must be included if and only if the `fidl()` target specifies:
# `sdk_category = "partner"`.
# When removing a library from all such lists, delete all of its history files:
# git rm sdk/history/*/<library_name>.api_summary.json
_partner_idk_fidl_libraries_targets_list = [
# keep-sorted: begin
"//sdk/fidl/fuchsia.accessibility.gesture:fuchsia.accessibility.gesture",
"//sdk/fidl/fuchsia.accessibility.semantics:fuchsia.accessibility.semantics",
"//sdk/fidl/fuchsia.accessibility.tts:fuchsia.accessibility.tts",
"//sdk/fidl/fuchsia.accessibility.virtualkeyboard:fuchsia.accessibility.virtualkeyboard",
"//sdk/fidl/fuchsia.audio.effects:fuchsia.audio.effects",
"//sdk/fidl/fuchsia.auth.oldtokens:fuchsia.auth.oldtokens",
"//sdk/fidl/fuchsia.auth:fuchsia.auth",
"//sdk/fidl/fuchsia.bluetooth.a2dp:fuchsia.bluetooth.a2dp",
"//sdk/fidl/fuchsia.bluetooth.bredr:fuchsia.bluetooth.bredr",
"//sdk/fidl/fuchsia.bluetooth.fastpair:fuchsia.bluetooth.fastpair",
"//sdk/fidl/fuchsia.bluetooth.gatt2:fuchsia.bluetooth.gatt2",
"//sdk/fidl/fuchsia.bluetooth.gatt:fuchsia.bluetooth.gatt",
"//sdk/fidl/fuchsia.bluetooth.hfp:fuchsia.bluetooth.hfp",
"//sdk/fidl/fuchsia.bluetooth.host:fuchsia.bluetooth.host",
"//sdk/fidl/fuchsia.bluetooth.le:fuchsia.bluetooth.le",
"//sdk/fidl/fuchsia.bluetooth.sys:fuchsia.bluetooth.sys",
"//sdk/fidl/fuchsia.bluetooth:fuchsia.bluetooth",
"//sdk/fidl/fuchsia.boot.metadata:fuchsia.boot.metadata",
"//sdk/fidl/fuchsia.buildinfo.test:fuchsia.buildinfo.test",
"//sdk/fidl/fuchsia.buildinfo:fuchsia.buildinfo",
"//sdk/fidl/fuchsia.buttons:fuchsia.buttons",
"//sdk/fidl/fuchsia.camera2.hal:fuchsia.camera2.hal",
"//sdk/fidl/fuchsia.camera2:fuchsia.camera2",
"//sdk/fidl/fuchsia.camera3:fuchsia.camera3",
"//sdk/fidl/fuchsia.camera:fuchsia.camera",
"//sdk/fidl/fuchsia.castauth:fuchsia.castauth",
"//sdk/fidl/fuchsia.castconfig:fuchsia.castconfig",
"//sdk/fidl/fuchsia.castremotecontrol:fuchsia.castremotecontrol",
"//sdk/fidl/fuchsia.castsetup:fuchsia.castsetup",
"//sdk/fidl/fuchsia.castsysteminfo:fuchsia.castsysteminfo",
"//sdk/fidl/fuchsia.castwindow:fuchsia.castwindow",
"//sdk/fidl/fuchsia.component.decl:fuchsia.component.decl",
"//sdk/fidl/fuchsia.component.resolution:fuchsia.component.resolution",
"//sdk/fidl/fuchsia.component.runner:fuchsia.component.runner",
"//sdk/fidl/fuchsia.component.runtime:fuchsia.component.runtime",
"//sdk/fidl/fuchsia.component.sandbox:fuchsia.component.sandbox",
"//sdk/fidl/fuchsia.component.test:fuchsia.component.test",
"//sdk/fidl/fuchsia.component:fuchsia.component",
"//sdk/fidl/fuchsia.data:fuchsia.data",
"//sdk/fidl/fuchsia.debugdata:fuchsia.debugdata",
"//sdk/fidl/fuchsia.developer.tiles:fuchsia.developer.tiles",
"//sdk/fidl/fuchsia.device.fs:fuchsia.device.fs",
"//sdk/fidl/fuchsia.diagnostics.system:fuchsia.diagnostics.system",
"//sdk/fidl/fuchsia.diagnostics.types:fuchsia.diagnostics.types",
"//sdk/fidl/fuchsia.diagnostics:fuchsia.diagnostics",
"//sdk/fidl/fuchsia.driver.development:fuchsia.driver.development",
"//sdk/fidl/fuchsia.driver.framework:fuchsia.driver.framework",
"//sdk/fidl/fuchsia.driver.metadata:fuchsia.driver.metadata",
"//sdk/fidl/fuchsia.driver.registrar:fuchsia.driver.registrar",
"//sdk/fidl/fuchsia.driver.test:fuchsia.driver.test",
"//sdk/fidl/fuchsia.element:fuchsia.element",
"//sdk/fidl/fuchsia.factory.wlan:fuchsia.factory.wlan",
"//sdk/fidl/fuchsia.factory:fuchsia.factory",
"//sdk/fidl/fuchsia.feedback:fuchsia.feedback",
"//sdk/fidl/fuchsia.fonts:fuchsia.fonts",
"//sdk/fidl/fuchsia.location.gnss.types:fuchsia.location.gnss.types",
"//sdk/fidl/fuchsia.gpu.agis:fuchsia.gpu.agis",
"//sdk/fidl/fuchsia.gpu.magma:fuchsia.gpu.magma",
"//sdk/fidl/fuchsia.hardware.adc:fuchsia.hardware.adc",
"//sdk/fidl/fuchsia.hardware.adcimpl:fuchsia.hardware.adcimpl",
"//sdk/fidl/fuchsia.hardware.audio.signalprocessing:fuchsia.hardware.audio.signalprocessing",
"//sdk/fidl/fuchsia.hardware.audio:fuchsia.hardware.audio",
"//sdk/fidl/fuchsia.hardware.bluetooth:fuchsia.hardware.bluetooth",
"//sdk/fidl/fuchsia.hardware.clock:fuchsia.hardware.clock",
"//sdk/fidl/fuchsia.hardware.clockimpl:fuchsia.hardware.clockimpl",
"//sdk/fidl/fuchsia.hardware.cpu.ctrl:fuchsia.hardware.cpu.ctrl",
"//sdk/fidl/fuchsia.hardware.gnss:fuchsia.hardware.gnss",
"//sdk/fidl/fuchsia.hardware.gpio:fuchsia.hardware.gpio",
"//sdk/fidl/fuchsia.hardware.haptics:fuchsia.hardware.haptics",
"//sdk/fidl/fuchsia.hardware.hrtimer:fuchsia.hardware.hrtimer",
"//sdk/fidl/fuchsia.hardware.i2c.businfo:fuchsia.hardware.i2c.businfo",
"//sdk/fidl/fuchsia.hardware.i2c:fuchsia.hardware.i2c",
"//sdk/fidl/fuchsia.hardware.i2cimpl:fuchsia.hardware.i2cimpl",
"//sdk/fidl/fuchsia.hardware.interconnect:fuchsia.hardware.interconnect",
"//sdk/fidl/fuchsia.hardware.light:fuchsia.hardware.light",
"//sdk/fidl/fuchsia.hardware.mailbox:fuchsia.hardware.mailbox",
"//sdk/fidl/fuchsia.hardware.network.driver:fuchsia.hardware.network.driver",
"//sdk/fidl/fuchsia.hardware.network:fuchsia.hardware.network",
"//sdk/fidl/fuchsia.hardware.nfc:fuchsia.hardware.nfc",
"//sdk/fidl/fuchsia.hardware.pci:fuchsia.hardware.pci",
"//sdk/fidl/fuchsia.hardware.pin:fuchsia.hardware.pin",
"//sdk/fidl/fuchsia.hardware.pinimpl:fuchsia.hardware.pinimpl",
"//sdk/fidl/fuchsia.hardware.platform.bus:fuchsia.hardware.platform.bus",
"//sdk/fidl/fuchsia.hardware.platform.device:fuchsia.hardware.platform.device",
"//sdk/fidl/fuchsia.hardware.power.sensor:fuchsia.hardware.power.sensor",
"//sdk/fidl/fuchsia.hardware.power.statecontrol:fuchsia.hardware.power.statecontrol",
"//sdk/fidl/fuchsia.hardware.power:fuchsia.hardware.power",
"//sdk/fidl/fuchsia.hardware.qualcomm.fastrpc:fuchsia.hardware.qualcomm.fastrpc",
"//sdk/fidl/fuchsia.hardware.qualcomm.router:fuchsia.hardware.qualcomm.router",
"//sdk/fidl/fuchsia.hardware.radar:fuchsia.hardware.radar",
"//sdk/fidl/fuchsia.hardware.registers:fuchsia.hardware.registers",
"//sdk/fidl/fuchsia.hardware.reset:fuchsia.hardware.reset",
"//sdk/fidl/fuchsia.hardware.inlineencryption:fuchsia.hardware.inlineencryption",
"//sdk/fidl/fuchsia.hardware.rtc:fuchsia.hardware.rtc",
"//sdk/fidl/fuchsia.hardware.sdhci:fuchsia.hardware.sdhci",
"//sdk/fidl/fuchsia.hardware.sdio:fuchsia.hardware.sdio",
"//sdk/fidl/fuchsia.hardware.sdmmc:fuchsia.hardware.sdmmc",
"//sdk/fidl/fuchsia.hardware.serial:fuchsia.hardware.serial",
"//sdk/fidl/fuchsia.hardware.serialimpl:fuchsia.hardware.serialimpl",
"//sdk/fidl/fuchsia.hardware.sharedmemory:fuchsia.hardware.sharedmemory",
"//sdk/fidl/fuchsia.hardware.spi.businfo:fuchsia.hardware.spi.businfo",
"//sdk/fidl/fuchsia.hardware.spi:fuchsia.hardware.spi",
"//sdk/fidl/fuchsia.hardware.spiimpl:fuchsia.hardware.spiimpl",
"//sdk/fidl/fuchsia.hardware.spmi:fuchsia.hardware.spmi",
"//sdk/fidl/fuchsia.hardware.power.suspend:fuchsia.hardware.power.suspend",
"//sdk/fidl/fuchsia.hardware.temperature:fuchsia.hardware.temperature",
"//sdk/fidl/fuchsia.hardware.trippoint:fuchsia.hardware.trippoint",
"//sdk/fidl/fuchsia.hardware.usb.dci:fuchsia.hardware.usb.dci",
"//sdk/fidl/fuchsia.hardware.usb.descriptor:fuchsia.hardware.usb.descriptor",
"//sdk/fidl/fuchsia.hardware.usb.endpoint:fuchsia.hardware.usb.endpoint",
"//sdk/fidl/fuchsia.hardware.usb.phy:fuchsia.hardware.usb.phy",
"//sdk/fidl/fuchsia.hardware.usb.request:fuchsia.hardware.usb.request",
"//sdk/fidl/fuchsia.hardware.uwb:fuchsia.hardware.uwb",
"//sdk/fidl/fuchsia.hardware.vreg:fuchsia.hardware.vreg",
"//sdk/fidl/fuchsia.hwinfo:fuchsia.hwinfo",
"//sdk/fidl/fuchsia.images2:fuchsia.images2",
"//sdk/fidl/fuchsia.images:fuchsia.images",
"//sdk/fidl/fuchsia.input.report:fuchsia.input.report",
"//sdk/fidl/fuchsia.input.virtualkeyboard:fuchsia.input.virtualkeyboard",
"//sdk/fidl/fuchsia.input:fuchsia.input",
"//sdk/fidl/fuchsia.inspect:fuchsia.inspect",
"//sdk/fidl/fuchsia.intl:fuchsia.intl",
"//sdk/fidl/fuchsia.io:fuchsia.io",
"//sdk/fidl/fuchsia.kernel:fuchsia.kernel",
"//sdk/fidl/fuchsia.ldsvc:fuchsia.ldsvc",
"//sdk/fidl/fuchsia.legacymetrics:fuchsia.legacymetrics",
"//sdk/fidl/fuchsia.lightsensor:fuchsia.lightsensor",
"//sdk/fidl/fuchsia.location.namedplace:fuchsia.location.namedplace",
"//sdk/fidl/fuchsia.location.position:fuchsia.location.position",
"//sdk/fidl/fuchsia.location.sensor:fuchsia.location.sensor",
"//sdk/fidl/fuchsia.location:fuchsia.location",
"//sdk/fidl/fuchsia.logger:fuchsia.logger",
"//sdk/fidl/fuchsia.lowpan.bootstrap:fuchsia.lowpan.bootstrap",
"//sdk/fidl/fuchsia.lowpan.device:fuchsia.lowpan.device",
"//sdk/fidl/fuchsia.lowpan.thread:fuchsia.lowpan.thread",
"//sdk/fidl/fuchsia.lowpan:fuchsia.lowpan",
"//sdk/fidl/fuchsia.math:fuchsia.math",
"//sdk/fidl/fuchsia.media.audio:fuchsia.media.audio",
"//sdk/fidl/fuchsia.media.drm:fuchsia.media.drm",
"//sdk/fidl/fuchsia.media.playback:fuchsia.media.playback",
"//sdk/fidl/fuchsia.media.sessions2:fuchsia.media.sessions2",
"//sdk/fidl/fuchsia.media.sounds:fuchsia.media.sounds",
"//sdk/fidl/fuchsia.media.target:fuchsia.media.target",
"//sdk/fidl/fuchsia.media:fuchsia.media",
"//sdk/fidl/fuchsia.mediacodec:fuchsia.mediacodec",
"//sdk/fidl/fuchsia.mediastreams:fuchsia.mediastreams",
"//sdk/fidl/fuchsia.mem:fuchsia.mem",
"//sdk/fidl/fuchsia.memorypressure:fuchsia.memorypressure",
"//sdk/fidl/fuchsia.metrics:fuchsia.metrics",
"//sdk/fidl/fuchsia.migration:fuchsia.migration",
"//sdk/fidl/fuchsia.net.http:fuchsia.net.http",
"//sdk/fidl/fuchsia.net.interfaces:fuchsia.net.interfaces",
"//sdk/fidl/fuchsia.net.matchers:fuchsia.net.matchers",
"//sdk/fidl/fuchsia.net.mdns:fuchsia.net.mdns",
"//sdk/fidl/fuchsia.net.reachability:fuchsia.net.reachability",
"//sdk/fidl/fuchsia.net.routes:fuchsia.net.routes",
"//sdk/fidl/fuchsia.net.stackmigrationdeprecated:fuchsia.net.stackmigrationdeprecated",
"//sdk/fidl/fuchsia.net:fuchsia.net",
"//sdk/fidl/fuchsia.pkg.resolution:fuchsia.pkg.resolution",
"//sdk/fidl/fuchsia.power.broker:fuchsia.power.broker",
"//sdk/fidl/fuchsia.power.clientlevel:fuchsia.power.clientlevel",
"//sdk/fidl/fuchsia.power.observability:fuchsia.power.observability",
"//sdk/fidl/fuchsia.power.profile:fuchsia.power.profile",
"//sdk/fidl/fuchsia.power.system:fuchsia.power.system",
"//sdk/fidl/fuchsia.power.systemmode:fuchsia.power.systemmode",
"//sdk/fidl/fuchsia.power:fuchsia.power",
"//sdk/fidl/fuchsia.process.lifecycle:fuchsia.process.lifecycle",
"//sdk/fidl/fuchsia.process:fuchsia.process",
"//sdk/fidl/fuchsia.recovery.ui:fuchsia.recovery.ui",
"//sdk/fidl/fuchsia.recovery:fuchsia.recovery",
"//sdk/fidl/fuchsia.scenic.scheduling:fuchsia.scenic.scheduling",
"//sdk/fidl/fuchsia.scheduler:fuchsia.scheduler",
"//sdk/fidl/fuchsia.session:fuchsia.session",
"//sdk/fidl/fuchsia.settings.policy:fuchsia.settings.policy",
"//sdk/fidl/fuchsia.settings:fuchsia.settings",
"//sdk/fidl/fuchsia.storage.ftl:fuchsia.storage.ftl",
"//sdk/fidl/fuchsia.sysinfo:fuchsia.sysinfo",
"//sdk/fidl/fuchsia.sysmem2:fuchsia.sysmem2",
"//sdk/fidl/fuchsia.sysmem:fuchsia.sysmem",
"//sdk/fidl/fuchsia.system.state:fuchsia.system.state",
"//sdk/fidl/fuchsia.test:fuchsia.test",
"//sdk/fidl/fuchsia.thermal:fuchsia.thermal",
"//sdk/fidl/fuchsia.time.alarms:fuchsia.time.alarms",
"//sdk/fidl/fuchsia.tracing.controller:fuchsia.tracing.controller",
"//sdk/fidl/fuchsia.tracing.perfetto:fuchsia.tracing.perfetto",
"//sdk/fidl/fuchsia.tracing.provider:fuchsia.tracing.provider",
"//sdk/fidl/fuchsia.tracing:fuchsia.tracing",
"//sdk/fidl/fuchsia.ui.activity.control:fuchsia.ui.activity.control",
"//sdk/fidl/fuchsia.ui.activity:fuchsia.ui.activity",
"//sdk/fidl/fuchsia.ui.app:fuchsia.ui.app",
"//sdk/fidl/fuchsia.ui.brightness:fuchsia.ui.brightness",
"//sdk/fidl/fuchsia.ui.composition:fuchsia.ui.composition",
"//sdk/fidl/fuchsia.ui.display.singleton:fuchsia.ui.display.singleton",
"//sdk/fidl/fuchsia.ui.gfx:fuchsia.ui.gfx",
"//sdk/fidl/fuchsia.ui.input3:fuchsia.ui.input3",
"//sdk/fidl/fuchsia.ui.input:fuchsia.ui.input",
"//sdk/fidl/fuchsia.ui.observation.geometry:fuchsia.ui.observation.geometry",
"//sdk/fidl/fuchsia.ui.pointer:fuchsia.ui.pointer",
"//sdk/fidl/fuchsia.ui.pointerinjector:fuchsia.ui.pointerinjector",
"//sdk/fidl/fuchsia.ui.policy:fuchsia.ui.policy",
"//sdk/fidl/fuchsia.ui.scenic:fuchsia.ui.scenic",
"//sdk/fidl/fuchsia.ui.test.input:fuchsia.ui.test.input",
"//sdk/fidl/fuchsia.ui.test.scene:fuchsia.ui.test.scene",
"//sdk/fidl/fuchsia.ui.types:fuchsia.ui.types",
"//sdk/fidl/fuchsia.ui.views:fuchsia.ui.views",
"//sdk/fidl/fuchsia.ultrasound:fuchsia.ultrasound",
"//sdk/fidl/fuchsia.unknown:fuchsia.unknown",
"//sdk/fidl/fuchsia.update.channel:fuchsia.update.channel",
"//sdk/fidl/fuchsia.update.channelcontrol:fuchsia.update.channelcontrol",
"//sdk/fidl/fuchsia.update.config:fuchsia.update.config",
"//sdk/fidl/fuchsia.update:fuchsia.update",
"//sdk/fidl/fuchsia.url:fuchsia.url",
"//sdk/fidl/fuchsia.version:fuchsia.version",
"//sdk/fidl/fuchsia.weave:fuchsia.weave",
"//sdk/fidl/fuchsia.web:fuchsia.web",
"//sdk/fidl/fuchsia.wlan.common:fuchsia.wlan.common",
"//sdk/fidl/fuchsia.wlan.fullmac:fuchsia.wlan.fullmac",
"//sdk/fidl/fuchsia.wlan.ieee80211:fuchsia.wlan.ieee80211",
"//sdk/fidl/fuchsia.wlan.phyimpl:fuchsia.wlan.phyimpl",
"//sdk/fidl/fuchsia.wlan.policy:fuchsia.wlan.policy",
"//sdk/fidl/fuchsia.wlan.product.deprecatedclient:fuchsia.wlan.product.deprecatedclient",
"//sdk/fidl/fuchsia.wlan.product.deprecatedconfiguration:fuchsia.wlan.product.deprecatedconfiguration",
"//sdk/fidl/fuchsia.wlan.softmac:fuchsia.wlan.softmac",
"//sdk/fidl/fuchsia.wlan.stats:fuchsia.wlan.stats",
"//zircon/vdso/zx:zx",
# keep-sorted: end
]
# The FIDL portion of the platform surface area (plasa).
group("plasa") {
testonly = true
deps = []
foreach(target, _partner_idk_fidl_libraries_targets_list) {
deps += [ "${target}_plasa($fidl_toolchain)" ]
}
}
# Fuchsia IDL (FIDL) files defining much of the API for the SDK.
sdk_molecule("fidl") {
visibility = [
":*",
"//build/fidl:sdk_fidl",
"//sdk:*",
"//vendor/*",
]
category = "partner"
deps = []
foreach(fidl_library_path, _partner_idk_fidl_libraries_targets_list) {
deps += [ "${fidl_library_path}_sdk($fidl_toolchain)" ]
}
# Ensure that the API compatibility tests run on all libraries that require
# compatibility but are not in the IDK.
non_sdk_deps = [
# "partner" is covered above.
# ":compat_test_fidl_libraries_non_sdk_molecule" is covered in
# "compatibility_tests". It cannot be here because it is "testonly = true".
":host_tool_fidl_libraries_non_sdk_molecule",
":prebuilt_fidl_libraries_non_sdk_molecule",
]
}
group("sdk_partner_libs_allowlist") {
visibility = _partner_idk_fidl_libraries_targets_list
}
# The list of FIDL libraries in the "prebuilt" SDK category.
# These libraries are NOT included in the IDK; this list is only used by the
# targets below to ensure that we run the FIDL API compatibility tests on these
# libraries and allowlist additions.
# Targets must be included if and only if the `fidl()` target specifies:
# `sdk_category = "prebuilt"`.
# When removing a library from all such lists, delete all of its history files:
# git rm sdk/history/*/<library_name>.api_summary.json
_prebuilt_fidl_libraries_targets_list = [
# keep-sorted: begin
"//sdk/fidl/fuchsia.device:fuchsia.device",
"//sdk/fidl/fuchsia.fs:fuchsia.fs",
"//sdk/fidl/fuchsia.hardware.pty:fuchsia.hardware.pty",
"//sdk/fidl/fuchsia.memory.sampler:fuchsia.memory.sampler",
"//sdk/fidl/fuchsia.net.name:fuchsia.net.name",
"//sdk/fidl/fuchsia.net.resources:fuchsia.net.resources",
"//sdk/fidl/fuchsia.posix:fuchsia.posix",
"//sdk/fidl/fuchsia.posix.socket:fuchsia.posix.socket",
"//sdk/fidl/fuchsia.net.tcp:fuchsia.net.tcp",
"//sdk/fidl/fuchsia.posix.socket.packet:fuchsia.posix.socket.packet",
"//sdk/fidl/fuchsia.posix.socket.raw:fuchsia.posix.socket.raw",
"//sdk/fidl/fuchsia.vulkan.loader:fuchsia.vulkan.loader",
# keep-sorted: end
]
# Do NOT depend on this molecule from another SDK atom's `deps`. It is only
# to be used in `non_sdk_deps` of the "fidl" target to ensure a) there are no
# category violations and b) that compatibility tests are run.
# It must be an `sdk_molecule()` and not a `group()` because category checking
# is not performed on `non_sdk_deps`.
sdk_molecule("prebuilt_fidl_libraries_non_sdk_molecule") {
visibility = [
":fidl.manifest",
":prebuilt_fidl_libraries_non_sdk_molecule",
":prebuilt_fidl_libraries_non_sdk_molecule.validate",
]
category = "prebuilt"
deps = []
foreach(fidl_library_path, _prebuilt_fidl_libraries_targets_list) {
deps += [ "${fidl_library_path}_sdk($fidl_toolchain)" ]
}
}
group("sdk_prebuilt_libs_allowlist") {
visibility = _prebuilt_fidl_libraries_targets_list
}
# The list of FIDL libraries in the "host_tool" SDK category.
# These libraries are NOT included in the IDK; this list is only used by the
# targets below to ensure that we run the FIDL API compatibility tests on these
# libraries and allowlist additions.
# Targets must be included if and only if the `fidl()` target specifies:
# `sdk_category = "host_tool"`.
# When removing a library from all such lists, delete all of its history files:
# git rm sdk/history/*/<library_name>.api_summary.json
_host_tool_fidl_libraries_targets_list = [
# keep-sorted: begin
"//sdk/fidl/fuchsia.dash:fuchsia.dash",
"//sdk/fidl/fuchsia.debugger:fuchsia.debugger",
"//sdk/fidl/fuchsia.developer.ffxdaemonlifecycle:fuchsia.developer.ffxdaemonlifecycle",
"//sdk/fidl/fuchsia.developer.remotecontrol:fuchsia.developer.remotecontrol",
"//sdk/fidl/fuchsia.diagnostics.host:fuchsia.diagnostics.host",
"//sdk/fidl/fuchsia.fdomain:fuchsia.fdomain",
"//sdk/fidl/fuchsia.memory.debug:fuchsia.memory.debug",
"//sdk/fidl/fuchsia.memory.heapdump.client:fuchsia.memory.heapdump.client",
"//sdk/fidl/fuchsia.memory.inspection:fuchsia.memory.inspection",
"//sdk/fidl/fuchsia.overnet.protocol:fuchsia.overnet.protocol",
"//sdk/fidl/fuchsia.power.metrics:fuchsia.power.metrics",
"//sdk/fidl/fuchsia.starnix.container:fuchsia.starnix.container",
"//sdk/fidl/fuchsia.sys2:fuchsia.sys2",
"//sdk/fidl/fuchsia.test.manager:fuchsia.test.manager",
# keep-sorted: end
]
# Do NOT depend on this molecule from another SDK atom's `deps`. It is only
# to be used in `non_sdk_deps` of the "fidl" target to ensure a) there are no
# category violations and b) that compatibility tests are run.
# It must be an `sdk_molecule()` and not a `group()` because category checking
# is not performed on `non_sdk_deps`.
sdk_molecule("host_tool_fidl_libraries_non_sdk_molecule") {
visibility = [
":fidl.manifest",
":host_tool_fidl_libraries_non_sdk_molecule",
":host_tool_fidl_libraries_non_sdk_molecule.validate",
]
category = "host_tool"
deps = []
foreach(fidl_library_path, _host_tool_fidl_libraries_targets_list) {
deps += [ "${fidl_library_path}_sdk($fidl_toolchain)" ]
}
}
group("sdk_host_tool_libs_allowlist") {
visibility = _host_tool_fidl_libraries_targets_list
}
# The list of FIDL libraries in the "compat_test" SDK category.
# These libraries are NOT included in the IDK; this list is only used by the
# targets below to ensure that we run the FIDL API compatibility tests on these
# libraries and allowlist additions.
# Targets must be included if and only if the `fidl()` target specifies:
# `sdk_category = "compat_test"`.
# When removing a library from all such lists, delete all of its history files:
# git rm sdk/history/*/<library_name>.api_summary.json
_compat_test_fidl_libraries_targets_list = [
# keep-sorted: begin
"//examples/fidl/fuchsia.examples:fuchsia.examples",
"//sdk/ctf/tests/fidl/fuchsia.element/testing/fidl:fuchsia.element.test",
"//sdk/ctf/tests/fidl/fuchsia.intl/testing/fidl:fuchsia.intl.test",
"//sdk/ctf/tests/fidl/fuchsia.settings/testing/fidl:fuchsia.settings.test",
"//sdk/fidl/fuchsia.testing.harness:fuchsia.testing.harness",
"//sdk/fidl/fuchsia.ui.focus:fuchsia.ui.focus",
"//sdk/fidl/fuchsia.ui.observation.scope:fuchsia.ui.observation.scope",
"//sdk/fidl/fuchsia.ui.observation.test:fuchsia.ui.observation.test",
"//sdk/fidl/fuchsia.ui.pointer.augment:fuchsia.ui.pointer.augment",
"//sdk/fidl/fuchsia.ui.test.conformance:fuchsia.ui.test.conformance",
"//sdk/fidl/fuchsia.ui.test.context:fuchsia.ui.test.context",
"//src/diagnostics/archivist/tests/integration/realm_factory/fidl:fuchsia.archivist.test",
"//src/sys/pkg/tests/pkgdir/test_realm_proxy/fidl:fuchsia.pkg.test",
# keep-sorted: end
]
# Do NOT depend on this molecule from another SDK atom's `deps`. It is only to
# be used in `non_sdk_deps` of the "compatibility_tests" target to ensure
# a) there are no category violations and b) that compatibility tests are run.
# It must be an `sdk_molecule()` and not a `group()` because category checking
# is not performed on `non_sdk_deps`.
sdk_molecule("compat_test_fidl_libraries_non_sdk_molecule") {
testonly = true
visibility = [
":compat_test_fidl_libraries_non_sdk_molecule",
":compat_test_fidl_libraries_non_sdk_molecule.validate",
":compatibility_checks_for_categories_supporting_testonly.manifest",
":fidl.manifest",
]
category = "compat_test"
deps = []
foreach(fidl_library_path, _compat_test_fidl_libraries_targets_list) {
deps += [ "${fidl_library_path}_sdk($fidl_toolchain)" ]
}
}
group("sdk_compat_test_libs_allowlist") {
visibility = _compat_test_fidl_libraries_targets_list
}
# Ensure the lists are mutually exclusive.
assert(
_partner_idk_fidl_libraries_targets_list +
_prebuilt_fidl_libraries_targets_list +
_host_tool_fidl_libraries_targets_list +
_compat_test_fidl_libraries_targets_list -
_prebuilt_fidl_libraries_targets_list -
_host_tool_fidl_libraries_targets_list -
_compat_test_fidl_libraries_targets_list ==
_partner_idk_fidl_libraries_targets_list,
"A FIDL library appears in more than one SDK category list. If adding a library to a category, remove it from the other.")
group("tests") {
testonly = true
deps = [ ":compatibility_tests" ]
}
# Runs the build-time compatibility tests for all FIDL libraries that need them.
group("compatibility_tests") {
visibility = [
":tests",
"//:default",
"//sdk:generate_compatibility_goldens",
]
testonly = true
deps = [
# Compatibility tests are only run on these libraries via this target.
":compatibility_checks_for_categories_supporting_testonly",
# For completeness, depend on the target that runs the tests for all other
# libraries.
":fidl",
]
}
# Runs API compatibility tests on libraries that require compatibility and may
# be test-only. This is necessary because some libraries are `testonly = true`
# and thus cannot be dependencies of a production target such as ":fidl".
sdk_molecule("compatibility_checks_for_categories_supporting_testonly") {
category = "compat_test"
testonly = true
non_sdk_deps = [ ":compat_test_fidl_libraries_non_sdk_molecule" ]
}