Skip to main content
Glama
data.bzl2.5 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. XCODE_DATA_SUB_TARGET = "xcode-data" _XCODE_DATA_FILE_NAME = "xcode_data.json" XcodeDataInfo = provider(fields = { "data": provider_field(typing.Any, default = None), # {str: _a} }) XcodeDataInfoKeys = struct( APP_EXTENSION_DEPENDENCIES = "app_extension_dependencies", ARCH = "arch", ARGSFILES_BY_EXT = "argsfiles_by_ext", BUNDLE_TYPE = "bundle_type", CONTAINS_SWIFT_SOURCES = "contains_swift_sources", DEFAULT_TARGET_PLATFORM = "default_target_platform", DEPLOYMENT_VERSION = "deployment_version", EXPORTED_HEADERS = "exported_headers", EXTRA_XCODE_FILES = "extra_xcode_files", HEADERS = "headers", INFO_PLIST = "info_plist", OUTPUT = "output", PROCESSED_INFO_PLIST = "processed_info_plist", INFO_PLIST_RELATIVE_PATH = "info_plist_relative_path", PRODUCT_NAME = "product_name", RULE_TYPE = "rule_type", SDK = "sdk", SRCS = "srcs", SWIFT_VERSION = "swift_version", TARGET = "target", TEST_HOST_APP_BINARY = "test_host_app_binary", TEST_HOST_APP_TARGET = "test_host_app_target", TEST_TARGET = "test_target", TEST_TYPE = "test_type", XCTOOLCHAIN_BUNDLE_ID_TARGET = "xctoolchain_bundle_id_target", XCTOOLCHAIN_BUNDLE_ID = "xctoolchain_bundle_id", XCTOOLCHAIN_BUNDLE_TARGET = "xctoolchain_bundle_target", ) def generate_xcode_data( ctx: AnalysisContext, rule_type: str, output: Artifact | None, populate_rule_specific_attributes_func: [typing.Callable, None] = None, **kwargs) -> (list[DefaultInfo], XcodeDataInfo): data = { XcodeDataInfoKeys.RULE_TYPE: rule_type, XcodeDataInfoKeys.TARGET: ctx.label, } if output: data[XcodeDataInfoKeys.OUTPUT] = output data[XcodeDataInfoKeys.EXTRA_XCODE_FILES] = [] if hasattr(ctx.attrs, "extra_xcode_files"): data[XcodeDataInfoKeys.EXTRA_XCODE_FILES] = ctx.attrs.extra_xcode_files if populate_rule_specific_attributes_func: data.update(populate_rule_specific_attributes_func(ctx, **kwargs)) json_file = ctx.actions.write_json(_XCODE_DATA_FILE_NAME, data) return [DefaultInfo(default_output = json_file)], XcodeDataInfo(data = data)

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