成员
- apple_host_system_env
- apple_toolchain
- AppleDebugOutputs
- AppleDynamicFramework
- AppleExecutableBinary
- dotted_version
- link_multi_arch_binary
- link_multi_arch_static_library
- multi_arch_split
- new_dynamic_framework_provider
- new_executable_binary_provider
- new_objc_provider
- Objc
- 平台
- platform_type
- target_apple_env
- XcodeProperties
- XcodeVersionConfig
apple_host_system_env
dict apple_common.apple_host_system_env(xcode_config)
参数
| 参数 | 说明 | 
|---|---|
| xcode_config | 必需 包含 Xcode 配置相关信息的提供程序。 | 
apple_toolchain
apple_toolchain apple_common.apple_toolchain()
AppleDebugOutputs
Provider apple_common.AppleDebugOutputs
AppleDebugOutputs 提供程序的构造函数/密钥。如果目标传播 AppleDebugOutputs 提供程序,请将它用作检索它时使用的键。示例:
dep = ctx.attr.deps[0] p = dep[apple_common.AppleDebugOutputs]
AppleDynamicFramework
Provider apple_common.AppleDynamicFramework
AppleDynamicFramework 提供程序的构造函数/密钥。如果目标传播 AppleDynamicFramework 提供程序,请将它用作检索它时使用的键。示例:
dep = ctx.attr.deps[0] p = dep[apple_common.AppleDynamicFramework]
AppleExecutableBinary
Provider apple_common.AppleExecutableBinary
AppleExecutableBinary 提供程序的构造函数/密钥。如果目标传播 AppleExecutableBinary 提供程序,请将它用作检索它时使用的键。示例:
dep = ctx.attr.deps[0] p = dep[apple_common.AppleExecutableBinary]
dotted_version
DottedVersion apple_common.dotted_version(version)
参数
| 参数 | 说明 | 
|---|---|
| version | 必需 DottedVersion 的字符串表示形式。 | 
link_multi_arch_binary
struct apple_common.link_multi_arch_binary(ctx, avoid_deps=None, extra_linkopts=[], extra_link_inputs=[], stamp=-1)
apple_binary 规则的大部分逻辑,旨在帮助将其链接逻辑迁移到 rules_apple 中的 Starlark。
此 API 目前处于高度实验阶段,随时可能更改。目前,请勿依赖此函数的稳定性。
参数
| 参数 | 说明 | 
|---|---|
| ctx | 必需 Starlark 规则上下文。 | 
| avoid_deps | sequence of Targets; or None;
                                     默认 = 无一系列 Target,位于二进制文件的依赖关系图中,但其库不应链接到二进制文件。在运行时在另一个映像(例如软件包加载器或此二进制文件将加载的任何动态库/框架)中找到的依赖项就属于这种情况。 | 
| extra_linkopts | sequence of strings;
                                     默认值 = []要传递给链接器操作的额外 linkopt。 | 
| extra_link_inputs | sequence of Files;
                                     默认值 = []要传递给链接器操作的额外文件。 | 
| stamp | 默认值 = -1 是否在关联的二进制文件中包含 build 信息。如果为 1,则始终包含 build 信息。如果为 0,则始终排除版本信息。如果为 -1(默认值),则行为由 --[no]stamp 标记决定。在为测试规则生成可执行输出时,应将此值设置为 0。 | 
link_multi_arch_static_library
struct apple_common.link_multi_arch_static_library(ctx)
apple_static_library 规则逻辑的一部分,并且旨在协助其链接逻辑迁移到 rules_apple 中的 Starlark。
此 API 目前处于高度实验阶段,随时可能更改。目前,请勿依赖此函数的稳定性。
参数
| 参数 | 说明 | 
|---|---|
| ctx | 必需 Starlark 规则上下文。 | 
multi_arch_split
SplitTransitionProviderApi apple_common.multi_arch_split
要使用此过渡,必须使用“platform_type”和“minimum_os_version”字符串属性是规则中定义的,且必须提供。
platform_type 属性的值将决定此配置转换过程中将针对哪些目标架构构建依赖项。
选项如下:
- ios:从- --ios_multi_cpus收集的架构。
- macos:从- --macos_cpus收集的架构。
- tvos:从- --tvos_cpus收集的架构。
- watchos:从- --watchos_cpus收集的架构。
minimum_os_version 应是一个带句点的版本字符串(例如“7.3”),用于以类似方式根据平台类型设置配置中的最低操作系统。例如,指定 platform_type 'ios'和 minimum_os_version “8.0”将确保依赖项是使用最低 iOS 版本“8.0”构建的。
new_dynamic_framework_provider
AppleDynamicFramework apple_common.new_dynamic_framework_provider(binary=None, cc_info=None, objc, framework_dirs=None, framework_files=None)
参数
| 参数 | 说明 | 
|---|---|
| binary | File; or None;
                                     默认 = 无动态框架的 dylib 二进制工件。 | 
| cc_info | 默认值 = 无 一个 CcInfo,包含链接到二进制文件中的传递依赖项的相关信息。 | 
| objc | 必需 ObjcProvider,包含链接到二进制文件中的传递依赖项的相关信息。 | 
| framework_dirs | depset of strings; or None;
                                     默认 = 无用作链接输入以便链接到动态框架的框架路径名称。 | 
| framework_files | depset of Files; or None;
                                     默认 = 无应作为输入并关联到动态框架的整套工件 | 
new_executable_binary_provider
AppleExecutableBinary apple_common.new_executable_binary_provider(binary=None, cc_info=None, objc)
参数
| 参数 | 说明 | 
|---|---|
| binary | File; or None;
                                     默认 = 无可执行文件的二进制工件。 | 
| cc_info | 默认值 = 无 一个 CcInfo,包含链接到二进制文件中的传递依赖项的相关信息。 | 
| objc | 必需 ObjcProvider,包含链接到二进制文件中的传递依赖项的相关信息。 | 
new_objc_provider
ObjcProvider apple_common.new_objc_provider(**kwargs)
参数
| 参数 | 说明 | 
|---|---|
| kwargs | default = {} 参数字典。 | 
Objc
Provider apple_common.Objc
Objc 提供程序的构造函数/密钥。如果目标传播 Objc 提供程序,请将它用作检索它时使用的键。示例:
dep = ctx.attr.deps[0] p = dep[apple_common.Objc]
平台
struct apple_common.platform
- ios_device
- ios_simulator
- macos
- tvos_device
- tvos_simulator
- watchos_device
- watchos_simulator
这些值可以传递给需要平台的方法,例如 XcodeVersionConfig.sdk_version_for_platform。
platform_type
struct apple_common.platform_type
- ios
- macos
- tvos
- watchos
这些值可以传递给需要平台类型的方法,例如“apple”配置 fragment 的 multi_arch_platform 方法。
示例:
ctx.fragments.apple.multi_arch_platform(apple_common.platform_type.ios)
target_apple_env
dict apple_common.target_apple_env(xcode_config, platform)
dict。例如,此字典包含一些变量,这些变量表示构建时要使用的平台名称和 SDK 版本。键是变量名称,值是对应的值。
          
      参数
| 参数 | 说明 | 
|---|---|
| xcode_config | 必需 包含 Xcode 配置相关信息的提供程序。 | 
| platform | 必需 Apple 平台。 | 
XcodeProperties
Provider apple_common.XcodeProperties
XcodeVersionProperties 提供程序的构造函数/密钥。如果目标传播 XcodeVersionProperties 提供程序,请将它用作检索它时使用的键。示例:
dep = ctx.attr.deps[0] p = dep[apple_common.XcodeVersionProperties]
XcodeVersionConfig
Provider apple_common.XcodeVersionConfig
XcodeVersionConfig 提供程序的构造函数/密钥。