Funciones de Starlark para acceder a los componentes internos de las implementaciones de reglas de Apple.
Miembros
- 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
- 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 variables de entorno que deben configurarse para acciones que necesitan ejecutar herramientas de compilación en un sistema host de Apple, como la versión de Xcode que debe usarse. Las claves son nombres de variables y los valores son sus valores correspondientes.
Parámetros
Parámetro | Descripción |
---|---|
xcode_config
|
obligatorio Un proveedor que contiene información sobre la configuración de Xcode. |
apple_toolchain
unknown apple_common.apple_toolchain()Utilidades para resolver elementos de la cadena de herramientas de Apple.
AppleDebugOutputs
None
apple_common.AppleDebugOutputs
El constructor/la clave para el proveedor AppleDebugOutputs
.Si un destino propaga el proveedor de AppleDebugOutputs
, úsalo como la clave con la que lo recuperarás. Ejemplo:
dep = ctx.attr.deps[0] p = dep[apple_common.AppleDebugOutputs]
AppleDynamicFramework
Provider apple_common.AppleDynamicFrameworkEl constructor/la clave para el proveedor
AppleDynamicFramework
.Si un destino propaga el proveedor de AppleDynamicFramework
, úsalo como la clave con la que lo recuperarás. Ejemplo:
dep = ctx.attr.deps[0] p = dep[apple_common.AppleDynamicFramework]
AppleExecutableBinary
Provider apple_common.AppleExecutableBinaryEl constructor/la clave para el proveedor
AppleExecutableBinary
.Si un destino propaga el proveedor de AppleExecutableBinary
, úsalo como la clave con la que lo recuperarás. Ejemplo:
dep = ctx.attr.deps[0] p = dep[apple_common.AppleExecutableBinary]
dotted_version
DottedVersion apple_common.dotted_version(version)Crea una instancia de DottedVersion nueva.
Parámetros
Parámetro | Descripción |
---|---|
version
|
string;
obligatorio 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=[], extra_requested_features=[], extra_disabled_features=[], stamp=-1)Vincula un objeto binario (potencialmente de varias arquitecturas) orientado a las plataformas de Apple. Este método comprende la 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
|
ctx;
obligatorio El contexto de la regla de Starlark. |
avoid_deps
|
secuencia de Objetivos o None ;
el valor predeterminado es None Es una lista de objetos Target que se encuentran en el gráfico de dependencia del objeto binario, pero cuyas bibliotecas no deben vincularse 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 cargue este objeto binario.
|
extra_linkopts
|
secuencia de strings;
el valor predeterminado es [] Opciones de vínculo adicionales que se pasarán a la acción del vinculador. |
extra_link_inputs
|
secuencia de Files;
el valor predeterminado es [] Archivos adicionales para pasar a la acción del vinculador. |
extra_requested_features
|
secuencia de strings;
el valor predeterminado es [] Funciones adicionales solicitadas que se pasan a la acción del vinculador. |
extra_disabled_features
|
secuencia de strings;
el valor predeterminado es [] Funciones adicionales inhabilitadas que se pasarán a la acción del vinculador. |
stamp
|
int;
el valor predeterminado es -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 la compilación. Si es 0, siempre se excluye la información de la compilación. Si es -1 (el valor predeterminado), el comportamiento se determina a través de la marca --[no]stamp. Se debe establecer en 0 cuando se genere el resultado ejecutable de 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 plataformas de Apple. Este método comprende una parte de la lógica de la regla
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
|
ctx;
obligatorio El contexto de la regla de Starlark. |
new_dynamic_framework_provider
unknown apple_common.new_dynamic_framework_provider(binary=None, cc_info, framework_dirs=None, framework_files=None)Crea una instancia nueva del proveedor de AppleDynamicFramework.
Parámetros
Parámetro | Descripción |
---|---|
binary
|
Archivo; o None ;
el valor predeterminado es None El artefacto binario dylib del framework dinámico. |
cc_info
|
CcInfo;
obligatorio Es un CcInfo que contiene información sobre las dependencias transitivas vinculadas al objeto binario. |
framework_dirs
|
depset de strings; o None ;
el valor predeterminado es None Los nombres de ruta de acceso del framework que se usan como entradas de vínculo para vincularlos con el framework dinámico. |
framework_files
|
depset de Files; o None ;
el valor predeterminado es None El conjunto completo de artefactos que se deben incluir como entradas para vincularlos con el framework dinámico |
new_executable_binary_provider
unknown apple_common.new_executable_binary_provider(binary=None, cc_info)Crea una instancia nueva del proveedor AppleExecutableBinaryInfo.
Parámetros
Parámetro | Descripción |
---|---|
binary
|
Archivo; o None ;
el valor predeterminado es None El artefacto binario del ejecutable. |
cc_info
|
CcInfo;
obligatorio Es un CcInfo que contiene información sobre las dependencias transitivas vinculadas al objeto binario. |
plataforma
struct apple_common.platformUn struct similar a una enumeración que contiene los siguientes campos correspondientes a las plataformas de Apple:
ios_device
ios_simulator
macos
tvos_device
tvos_simulator
visionos_device
visionos_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_typeUn struct similar a una enumeración que contiene los siguientes campos correspondientes a los tipos de plataformas de Apple:
ios
macos
tvos
visionos
watchos
Estos valores pueden pasarse a métodos que esperan un tipo de plataforma, como “manzana” multi_arch_platform del fragmento de configuración.
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 las acciones que compilan destinos de un tipo de plataforma de Apple determinado. Por ejemplo, este diccionario contiene variables que denotan el nombre de la plataforma y la versión del SDK con las que se compilará. Las claves son nombres de variables y los valores son sus valores correspondientes.
Parámetros
Parámetro | Descripción |
---|---|
xcode_config
|
obligatorio Un proveedor que contiene información sobre la configuración de Xcode. |
platform
|
obligatorio La plataforma de la manzana. |
XcodeProperties
Provider apple_common.XcodePropertiesEl constructor/la clave para el proveedor
XcodeVersionProperties
.Si un destino propaga el proveedor de XcodeVersionProperties
, úsalo como la clave con la que lo recuperarás. Ejemplo:
dep = ctx.attr.deps[0] p = dep[apple_common.XcodeVersionProperties]
XcodeVersionConfig
Provider apple_common.XcodeVersionConfigEl constructor/la clave para el proveedor
XcodeVersionConfig
.