Miembros
- 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
- plataforma
- platform_type
- target_apple_env
- XcodeProperties
- XcodeVersionConfig
apple_host_system_env
dict apple_common.apple_host_system_env(xcode_config)Muestra un dict de las variables de entorno que se deben configurar para acciones que necesitan ejecutar herramientas de compilación en un sistema host de Apple, como la versión de Xcode que se debe usar. Las claves son nombres de variables y los valores son sus valores correspondientes.
Parámetros
Parámetro | Descripción |
---|---|
xcode_config
|
required Es un proveedor que contiene información sobre la configuración de Xcode. |
apple_toolchain
apple_toolchain apple_common.apple_toolchain()Utilidades para resolver elementos del conjunto de herramientas de Apple.
AppleDebugOutputs
Provider apple_common.AppleDebugOutputsEl constructor o la clave para el proveedor
AppleDebugOutputs
.Si un destino propaga el proveedor AppleDebugOutputs
, úsalo como la clave con la que se lo recuperará. Ejemplo:
dep = ctx.attr.deps[0] p = dep[apple_common.AppleDebugOutputs]
AppleDynamicFramework
Provider apple_common.AppleDynamicFrameworkEl constructor o la clave para el proveedor
AppleDynamicFramework
.Si un destino propaga el proveedor AppleDynamicFramework
, úsalo como la clave con la que se lo recuperará. Ejemplo:
dep = ctx.attr.deps[0] p = dep[apple_common.AppleDynamicFramework]
AppleExecutableBinary
Provider apple_common.AppleExecutableBinaryEl constructor o la clave para el proveedor
AppleExecutableBinary
.Si un destino propaga el proveedor AppleExecutableBinary
, úsalo como la clave con la que se lo recuperará. Ejemplo:
dep = ctx.attr.deps[0] p = dep[apple_common.AppleExecutableBinary]
dotted_version
DottedVersion apple_common.dotted_version(version)Crea una instancia DottedVersion nueva.
Parámetros
Parámetro | Descripción |
---|---|
version
|
required Es la representación de cadena de DottedVersion. |
link_multi_arch_binary
struct apple_common.link_multi_arch_binary(ctx, avoid_deps=None, extra_linkopts=[], extra_link_inputs=[], stamp=-1)Vincula un objeto binario (potencialmente multiarquitectónica) que se orienta a las plataformas de Apple. Este método comprende una mayor parte de la lógica de la regla
apple_binary
de Starlark en el dominio rules_apple y existe para ayudar en la migración de su lógica de vinculación a Starlark en rules_apple.
Esta API es altamente experimental y está sujeta a cambios en cualquier momento. No dependas de la estabilidad de esta función en este momento.
Parámetros
Parámetro | Descripción |
---|---|
ctx
|
required El contexto de la regla de Starlark. |
avoid_deps
|
sequence of Targets; or None ;
default = NoneEs una lista de Target que se encuentran en el gráfico de dependencia del objeto binario, pero cuyas bibliotecas no deberían estar vinculadas a este. Este es el caso de las dependencias que se encontrarán en el tiempo de ejecución en otra imagen, como el cargador de paquetes o cualquier biblioteca o marco de trabajo dinámico que cargará este objeto binario.
|
extra_linkopts
|
sequence of strings ;
default = []Linkopt adicionales que se pasarán a la acción del vinculador. |
extra_link_inputs
|
sequence of Files ; default = []Archivos adicionales para pasar a la acción del vinculador. |
stamp
|
default = -1 Indica si se debe incluir información de compilación en el objeto binario vinculado. Si es 1, siempre se incluye la información de compilación. Si es 0, la información de compilación siempre se excluye. Si es -1 (el valor predeterminado), el comportamiento se determina mediante la marca --[no]stamp. Debe establecerse en 0 cuando se genera el resultado ejecutable para las reglas de prueba. |
link_multi_arch_static_library
struct apple_common.link_multi_arch_static_library(ctx)Vincula una biblioteca estática (potencialmente multiarquitectónica) orientada a las plataformas de Apple. Este método comprende una parte de la lógica de reglas
apple_static_library
de Starlark en el dominio rules_apple y existe para ayudar en la migración de su lógica de vinculación a Starlark en rules_apple.
Esta API es altamente experimental y está sujeta a cambios en cualquier momento. No dependas de la estabilidad de esta función en este momento.
Parámetros
Parámetro | Descripción |
---|---|
ctx
|
required El contexto de la regla de Starlark. |
multi_arch_split
SplitTransitionProviderApi apple_common.multi_arch_splitUna transición de configuración para los atributos de reglas para compilar dependencias en una o más plataformas de Apple.
El uso de esta transición requiere que los atributos de cadena 'platform_type' y 'minimum_os_version' estén definidos y sean obligatorios en la regla.
El valor del atributo platform_type determinará las arquitecturas de destino para las que se compilarán las dependencias en esta transición de configuración.
Se incluyen las siguientes opciones:
ios
: Arquitecturas recopiladas a partir de--ios_multi_cpus
.macos
: Arquitecturas recopiladas a partir de--macos_cpus
.tvos
: Arquitecturas recopiladas a partir de--tvos_cpus
.watchos
: Arquitecturas recopiladas a partir de--watchos_cpus
.
La versión mínima_os_version debe ser una cadena de versión con puntos, como "7.3", y se usa para establecer el sistema operativo mínimo en la configuración de manera similar según el tipo de plataforma. Por ejemplo, si especificas platform_type “ios” yminimum_os_version “8.0”, se garantizará que las dependencias se compilen con la versión mínima de 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)Crea una instancia nueva del proveedor de AppleDynamicFramework.
Parámetros
Parámetro | Descripción |
---|---|
binary
|
File; or None ; predeterminado = NingunoEl artefacto binario dylib del framework dinámico. |
cc_info
|
default = None Es un CcInfo que contiene información sobre las dependencias transitivas vinculadas al objeto binario. |
objc
|
required Es un objeto ObjcProvider que contiene información sobre las dependencias transitivas vinculadas al objeto binario. |
framework_dirs
|
depset of strings; or None ;
default = NoneLos nombres de ruta de acceso del framework que se usan como entradas de vínculo para vincular con el framework dinámico. |
framework_files
|
depset of Files; or None ;
predeterminado = NingunoEl conjunto completo de artefactos que se deben incluir como entradas para vincular con el framework dinámico |
new_executable_binary_provider
AppleExecutableBinary apple_common.new_executable_binary_provider(binary=None, cc_info=None, objc)Crea una instancia nueva del proveedor AppleExecutableBinaryInfo.
Parámetros
Parámetro | Descripción |
---|---|
binary
|
File; or None ; predeterminado = NingunoEl artefacto binario del ejecutable. |
cc_info
|
default = None Es un CcInfo que contiene información sobre las dependencias transitivas vinculadas al objeto binario. |
objc
|
required Es un objeto ObjcProvider que contiene información sobre las dependencias transitivas vinculadas al objeto binario. |
new_objc_provider
ObjcProvider apple_common.new_objc_provider(**kwargs)Crea una nueva instancia de ObjcProvider.
Parámetros
Parámetro | Descripción |
---|---|
kwargs
|
default = {} Diccionario de argumentos. |
Objc
Provider apple_common.ObjcEl constructor o la clave para el proveedor
Objc
.Si un destino propaga el proveedor Objc
, úsalo como la clave con la que se lo recuperará. Ejemplo:
dep = ctx.attr.deps[0] p = dep[apple_common.Objc]
plataforma
struct apple_common.platformUna struct similar a una enumeración que contenga los siguientes campos correspondientes a las plataformas de Apple:
ios_device
ios_simulator
macos
tvos_device
tvos_simulator
watchos_device
watchos_simulator
Estos valores se pueden pasar a métodos que esperan una plataforma, como XcodeVersionConfig.sdk_version_for_platform.
platform_type
struct apple_common.platform_typeUna struct similar a una enumeración que contenga los siguientes campos correspondientes a los tipos de plataformas de Apple:
ios
macos
tvos
watchos
Estos valores se pueden pasar a métodos que esperan un tipo de plataforma, como el método multi_arch_platform del fragmento de configuración "manzana".
Ejemplo:
ctx.fragments.apple.multi_arch_platform(apple_common.platform_type.ios)
target_apple_env
dict apple_common.target_apple_env(xcode_config, platform)Muestra un
dict
de variables de entorno que se deben configurar para acciones que compilan objetivos de un tipo determinado de plataforma de Apple. Por ejemplo, este diccionario contiene variables que denotan el nombre de la plataforma y la versión del SDK con la que se compilará. Las claves son nombres de variables y los valores son sus valores correspondientes.
Parámetros
Parámetro | Descripción |
---|---|
xcode_config
|
required Es un proveedor que contiene información sobre la configuración de Xcode. |
platform
|
required La plataforma de Apple. |
XcodeProperties
Provider apple_common.XcodePropertiesEl constructor o la clave para el proveedor
XcodeVersionProperties
.Si un destino propaga el proveedor XcodeVersionProperties
, úsalo como la clave con la que se lo recuperará. Ejemplo:
dep = ctx.attr.deps[0] p = dep[apple_common.XcodeVersionProperties]
XcodeVersionConfig
Provider apple_common.XcodeVersionConfigEl constructor o la clave para el proveedor
XcodeVersionConfig
.