Skip to main content
Glama
xctest_swift_support.bzl1.6 kB
# Copyright (c) Meta Platforms, Inc. and affiliates. # # This source code is licensed under both the MIT license found in the # LICENSE-MIT file in the root directory of this source tree and the Apache # License, Version 2.0 found in the LICENSE-APACHE file in the root directory # of this source tree. load("@prelude//cxx:cxx_library_utility.bzl", "cxx_attr_deps", "cxx_attr_exported_deps") load(":apple_frameworks.bzl", "to_framework_name") # Provider which helps to propagate the info if XCTest Swift support is needed up the target graph. XCTestSwiftSupportInfo = provider( # @unsorted-dict-items fields = { "support_needed": provider_field(bool), # Value is unused, needed only to detect a provider type }, ) def xctest_swift_support_info(ctx: AnalysisContext, contains_swift_sources: bool, is_test_target: bool) -> XCTestSwiftSupportInfo: if contains_swift_sources and (is_test_target or _depends_on_xctest(ctx)): return XCTestSwiftSupportInfo(support_needed = True) else: return _inherited_xctest_swift_support_info(ctx) def _inherited_xctest_swift_support_info(ctx: AnalysisContext) -> XCTestSwiftSupportInfo: all_deps = cxx_attr_deps(ctx) + cxx_attr_exported_deps(ctx) for dep in all_deps: if XCTestSwiftSupportInfo in dep: info = dep[XCTestSwiftSupportInfo] if info.support_needed: return info return XCTestSwiftSupportInfo(support_needed = False) def _depends_on_xctest(ctx: AnalysisContext) -> bool: return "XCTest" in [to_framework_name(x) for x in ctx.attrs.frameworks]

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/systeminit/si'

If you have feedback or need assistance with the MCP directory API, please join our Discord server