成员
- 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
- platform_type
- target_apple_env
- XcodeProperties
- XcodeVersionConfig
apple_host_system_env
dict apple_common.apple_host_system_env(xcode_config)返回一个环境变量字典,应为需要在 Apple 主机系统上运行构建工具的操作设置这些环境变量,例如应使用的 Xcode 版本。键是变量名称,值是对应的值。
参数
参数 | 说明 |
---|---|
xcode_config
|
必需 包含有关 Xcode 配置的信息的提供程序。 |
apple_toolchain
apple_toolchain apple_common.apple_toolchain()用于解析 Apple 工具链中的项的实用程序。
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)创建新的 DottedVersion 实例。
参数
参数 | 说明 |
---|---|
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 平台的(可能多架构)二进制文件。此方法包含 rules_apple 网域中 Starlark
apple_binary
规则的大部分逻辑,旨在帮助将其关联逻辑迁移到 rules_apple 中的 Starlark。
此 API 处于高度实验阶段,随时都可能发生变化。目前,请勿依赖此功能的稳定性。
参数
参数 | 说明 |
---|---|
ctx
|
必需 Starlark 规则上下文。 |
avoid_deps
|
sequence of Targets; or None ;
默认值为 None二进制文件的依赖项图中存在的 Target 的列表,但其库不应关联到二进制文件中。这适用于将在运行时在其他映像中找到的依赖项,例如软件包加载器或将由此二进制文件加载的任何动态库/框架。
|
extra_linkopts
|
sequence of strings ;
默认值为 []要传递给链接器操作的额外 linkopts。 |
extra_link_inputs
|
sequence of Files ;
default = []传递给链接器操作的额外文件。 |
stamp
|
默认值 = -1 是否在链接的二进制文件中包含 build 信息。如果为 1,则始终包含 build 信息。如果为 0,则始终排除 build 信息。如果为 -1(默认值),则行为由 --[no]stamp 标志决定。为测试规则生成可执行输出时,此值应设为 0。 |
link_multi_arch_static_library
struct apple_common.link_multi_arch_static_library(ctx)关联面向 Apple 平台的(可能多架构)静态库。此方法是 rules_apple 网域中 Starlark
apple_static_library
规则逻辑的一部分,旨在帮助将其关联逻辑迁移到 rules_apple 中的 Starlark。此 API 处于高度实验阶段,随时都可能发生变化。目前,请勿依赖此功能的稳定性。
参数
参数 | 说明 |
---|---|
ctx
|
必需 Starlark 规则上下文。 |
multi_arch_split
SplitTransitionProviderApi apple_common.multi_arch_split将规则属性配置为在一个或多个 Apple 平台中构建依赖项的配置转换。
要使用这种过渡,必须定义规则中的“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)创建新的 AppleDynamicFramework 提供程序实例。
参数
参数 | 说明 |
---|---|
binary
|
File; or None ;
默认值为 None动态框架的 dylib 二进制工件。 |
cc_info
|
default = None CcInfo,其中包含关联到二进制文件的传递依赖项的相关信息。 |
objc
|
required 一个 ObjcProvider,其中包含有关链接到二进制文件的传递依赖项的信息。 |
framework_dirs
|
depset of strings; or None ;
默认值为 None用作链接输入以与动态框架建立关联的框架路径名称。 |
framework_files
|
depset of Files; or None ;
默认值为 None应作为输入包含以与动态框架关联的完整工件 |
new_executable_binary_provider
AppleExecutableBinary apple_common.new_executable_binary_provider(binary=None, cc_info=None, objc)创建新的 AppleExecutableBinaryInfo 提供程序实例。
参数
参数 | 说明 |
---|---|
binary
|
File; or None ;默认值为 None可执行文件的二进制工件。 |
cc_info
|
default = None CcInfo,其中包含关联到二进制文件的传递依赖项的相关信息。 |
objc
|
必需 一个 ObjcProvider,其中包含与链接到二进制文件的传递依赖项相关的信息。 |
new_objc_provider
ObjcProvider apple_common.new_objc_provider(**kwargs)创建新的 ObjcProvider 实例。
参数
参数 | 说明 |
---|---|
kwargs
|
默认值为 {} 参数字典。 |
Objc
Provider apple_common.Objc
Objc
提供程序的构造函数/键。如果目标传播 Objc
提供程序,请将其用作检索该提供程序的键。示例:
dep = ctx.attr.deps[0] p = dep[apple_common.Objc]
platform
struct apple_common.platform一个类似枚举的结构体,其中包含与 Apple 平台对应的以下字段:
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一个类似枚举的结构体,包含与 Apple 平台类型对应的以下字段:
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)返回应为构建指定 Apple 平台类型目标的操作设置的环境变量
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
提供程序的构造函数/键。