Members
- apple_host_system_env
- apple_toolchain
- AppleDebugOutputs
- AppleDynamicFramework
- AppleExecutableBinary
- dotted_version
- link_multi_arch_binary
- link_multi_arch_static_library
- new_dynamic_framework_provider
- new_executable_binary_provider
- platform
- platform_type
- target_apple_env
- XcodeProperties
- XcodeVersionConfig
apple_host_system_env
dict apple_common.apple_host_system_env(xcode_config)Returns a dict of environment variables that should be set for actions that need to run build tools on an Apple host system, such as the version of Xcode that should be used. The keys are variable names and the values are their corresponding values.
Parameters
Parameter | Description |
---|---|
xcode_config
|
required A provider containing information about the Xcode configuration. |
apple_toolchain
unknown apple_common.apple_toolchain()Utilities for resolving items from the apple toolchain.
AppleDebugOutputs
None
apple_common.AppleDebugOutputs
The constructor/key for the AppleDebugOutputs
provider.If a target propagates the AppleDebugOutputs
provider, use this as the key with which to retrieve it. Example:
dep = ctx.attr.deps[0] p = dep[apple_common.AppleDebugOutputs]
AppleDynamicFramework
Provider apple_common.AppleDynamicFrameworkThe constructor/key for the
AppleDynamicFramework
provider.If a target propagates the AppleDynamicFramework
provider, use this as the key with which to retrieve it. Example:
dep = ctx.attr.deps[0] p = dep[apple_common.AppleDynamicFramework]
AppleExecutableBinary
Provider apple_common.AppleExecutableBinaryThe constructor/key for the
AppleExecutableBinary
provider.If a target propagates the AppleExecutableBinary
provider, use this as the key with which to retrieve it. Example:
dep = ctx.attr.deps[0] p = dep[apple_common.AppleExecutableBinary]
dotted_version
DottedVersion apple_common.dotted_version(version)Creates a new DottedVersion instance.
Parameters
Parameter | Description |
---|---|
version
|
string;
required The string representation of the DottedVersion. |
link_multi_arch_binary
struct apple_common.link_multi_arch_binary(ctx, avoid_deps=None, extra_linkopts=[], extra_link_inputs=[], extra_requested_features=[], extra_disabled_features=[], stamp=-1)Links a (potentially multi-architecture) binary targeting Apple platforms. This method comprises a bulk of the logic of the Starlark
apple_binary
rule in the rules_apple domain and exists to aid in the migration of its linking logic to Starlark in rules_apple.
This API is highly experimental and subject to change at any time. Do not depend on the stability of this function at this time.
Parameters
Parameter | Description |
---|---|
ctx
|
ctx;
required The Starlark rule context. |
avoid_deps
|
sequence of Targets; or None ;
default is None A list of Target s that are in the dependency graph of the binary but whose libraries should not be linked into the binary. This is the case for dependencies that will be found at runtime in another image, such as the bundle loader or any dynamic libraries/frameworks that will be loaded by this binary.
|
extra_linkopts
|
sequence of strings;
default is [] Extra linkopts to be passed to the linker action. |
extra_link_inputs
|
sequence of Files;
default is [] Extra files to pass to the linker action. |
extra_requested_features
|
sequence of strings;
default is [] Extra requested features to be passed to the linker action. |
extra_disabled_features
|
sequence of strings;
default is [] Extra disabled features to be passed to the linker action. |
stamp
|
int;
default is -1 Whether to include build information in the linked binary. If 1, build information is always included. If 0, build information is always excluded. If -1 (the default), then the behavior is determined by the --[no]stamp flag. This should be set to 0 when generating the executable output for test rules. |
link_multi_arch_static_library
struct apple_common.link_multi_arch_static_library(ctx)Links a (potentially multi-architecture) static library targeting Apple platforms. This method comprises a part of the Starlark
apple_static_library
rule logic, in the rules_apple domain and exists to aid in the migration of its linking logic to Starlark in rules_apple.
This API is highly experimental and subject to change at any time. Do not depend on the stability of this function at this time.
Parameters
Parameter | Description |
---|---|
ctx
|
ctx;
required The Starlark rule context. |
new_dynamic_framework_provider
unknown apple_common.new_dynamic_framework_provider(binary=None, cc_info, framework_dirs=None, framework_files=None)Creates a new AppleDynamicFramework provider instance.
Parameters
Parameter | Description |
---|---|
binary
|
File; or None ;
default is None The dylib binary artifact of the dynamic framework. |
cc_info
|
CcInfo;
required A CcInfo which contains information about the transitive dependencies linked into the binary. |
framework_dirs
|
depset of strings; or None ;
default is None The framework path names used as link inputs in order to link against the dynamic framework. |
framework_files
|
depset of Files; or None ;
default is None The full set of artifacts that should be included as inputs to link against the dynamic framework |
new_executable_binary_provider
unknown apple_common.new_executable_binary_provider(binary=None, cc_info)Creates a new AppleExecutableBinaryInfo provider instance.
Parameters
Parameter | Description |
---|---|
binary
|
File; or None ;
default is None The binary artifact of the executable. |
cc_info
|
CcInfo;
required A CcInfo which contains information about the transitive dependencies linked into the binary. |
platform
struct apple_common.platformAn enum-like struct that contains the following fields corresponding to Apple platforms:
ios_device
ios_simulator
macos
tvos_device
tvos_simulator
visionos_device
visionos_simulator
watchos_device
watchos_simulator
These values can be passed to methods that expect a platform, like XcodeVersionConfig.sdk_version_for_platform.
platform_type
struct apple_common.platform_typeAn enum-like struct that contains the following fields corresponding to Apple platform types:
ios
macos
tvos
visionos
watchos
These values can be passed to methods that expect a platform type, like the 'apple' configuration fragment's multi_arch_platform method.
Example:
ctx.fragments.apple.multi_arch_platform(apple_common.platform_type.ios)
target_apple_env
dict apple_common.target_apple_env(xcode_config, platform)Returns a
dict
of environment variables that should be set for actions that build targets of the given Apple platform type. For example, this dictionary contains variables that denote the platform name and SDK version with which to build. The keys are variable names and the values are their corresponding values.
Parameters
Parameter | Description |
---|---|
xcode_config
|
required A provider containing information about the Xcode configuration. |
platform
|
required The apple platform. |
XcodeProperties
Provider apple_common.XcodePropertiesThe constructor/key for the
XcodeVersionProperties
provider.If a target propagates the XcodeVersionProperties
provider, use this as the key with which to retrieve it. Example:
dep = ctx.attr.deps[0] p = dep[apple_common.XcodeVersionProperties]
XcodeVersionConfig
Provider apple_common.XcodeVersionConfigThe constructor/key for the
XcodeVersionConfig
provider.