| # 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" ] |
| } |