Apple_common

Informar um problema Ver fonte Por noite

Funções do Starlark para acessar os componentes internos das implementações das regras da Apple.

Participantes

apple_host_system_env

dict apple_common.apple_host_system_env(xcode_config)

Retorna um dict de variáveis de ambiente que precisam ser definidas para ações que precisam executar ferramentas de build em um sistema host da Apple, como a versão do Xcode a ser usada. As chaves são nomes de variáveis e os valores são seus valores correspondentes.

Parâmetros

Parâmetro Descrição
xcode_config obrigatório
Um provedor com informações sobre a configuração do Xcode.

apple_toolchain

unknown apple_common.apple_toolchain()

Utilitários para resolver itens do conjunto de ferramentas da Apple.

AppleDebugOutputs

None apple_common.AppleDebugOutputs

O construtor/chave do provedor AppleDebugOutputs.

Se um destino propagar o provedor AppleDebugOutputs, use-o como a chave para recuperá-lo. Exemplo:

dep = ctx.attr.deps[0]
p = dep[apple_common.AppleDebugOutputs]

AppleDynamicFramework

Provider apple_common.AppleDynamicFramework

O construtor/chave do provedor AppleDynamicFramework.

Se um destino propagar o provedor AppleDynamicFramework, use-o como a chave para recuperá-lo. Exemplo:

dep = ctx.attr.deps[0]
p = dep[apple_common.AppleDynamicFramework]

AppleExecutableBinary

Provider apple_common.AppleExecutableBinary

O construtor/chave do provedor AppleExecutableBinary.

Se um destino propagar o provedor AppleExecutableBinary, use-o como a chave para recuperá-lo. Exemplo:

dep = ctx.attr.deps[0]
p = dep[apple_common.AppleExecutableBinary]

dotted_version

DottedVersion apple_common.dotted_version(version)

Cria uma nova instância de DottedVersion.

Parâmetros

Parâmetro Descrição
version string; obrigatório
A representação da string de DottedVersion.

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 um binário (possivelmente multiarquitetura) destinado a plataformas Apple. Esse método compreende uma grande parte da lógica da regra apple_binary do Starlark no domínio rules_apple e existe para ajudar na migração da lógica de vinculação para o Starlark no rules_apple.

Essa API é altamente experimental e está sujeita a mudanças a qualquer momento. Não dependa da estabilidade desta função neste momento.

Parâmetros

Parâmetro Descrição
ctx; obrigatório
O contexto da regra Starlark.
sequência de destinos; ou None. O padrão é None.
Uma lista de Targets que estão no gráfico de dependência do binário, mas cujas bibliotecas não devem ser vinculadas ao binário. Isso se aplica a dependências que serão encontradas durante a execução em outra imagem, como o carregador de pacotes ou quaisquer bibliotecas/frameworks dinâmicos que serão carregados por esse binário.
Sequência de strings. O padrão é []
Outros linksopts a serem transmitidos para a ação do vinculador.
sequência de Files. O padrão é []
. Arquivos extras a serem transmitidos para a ação do vinculador.
sequência de strings. O padrão é []
Recursos extras solicitados a serem transmitidos para a ação do vinculador.
sequência de strings. O padrão é []
Recursos extras desativados a serem transmitidos para a ação do vinculador.
int; o padrão é -1
Define se as informações do build serão incluídas no binário vinculado. Se 1, as informações da versão serão sempre incluídas. Se for 0, as informações da versão serão sempre excluídas. Se for -1 (o padrão), o comportamento será determinado pela sinalização --[no]stamp. Ele precisa ser definido como 0 ao gerar a saída executável para regras de teste.

struct apple_common.link_multi_arch_static_library(ctx)

Vincula uma biblioteca estática (possivelmente multiarquitetura) destinada a plataformas Apple. Esse método compreende uma parte da lógica de regra apple_static_library do Starlark, no domínio rules_apple, e existe para ajudar na migração da lógica de vinculação para o Starlark no rules_apple.

Essa API é altamente experimental e está sujeita a mudanças a qualquer momento. Não dependa da estabilidade desta função neste momento.

Parâmetros

Parâmetro Descrição
ctx; obrigatório
O contexto da regra Starlark.

new_dynamic_framework_provider

unknown apple_common.new_dynamic_framework_provider(binary=None, cc_info, framework_dirs=None, framework_files=None)

Cria uma nova instância do provedor AppleDynamicFramework.

Parâmetros

Parâmetro Descrição
binary Arquivo ou None. O padrão é None.
O artefato binário dylib do framework dinâmico.
cc_info CcInfo; obrigatório
Um CcInfo que contém informações sobre as dependências transitivas vinculadas ao binário.
framework_dirs depset de strings; ou None; o padrão é None
Os nomes de caminho do framework usados como entradas de link para vincular ao framework dinâmico.
framework_files depset de Files; ou None; o padrão é None
O conjunto completo de artefatos que precisa ser incluído como entradas para vincular ao framework dinâmico

new_executable_binary_provider

unknown apple_common.new_executable_binary_provider(binary=None, cc_info)

Cria uma nova instância do provedor AppleExecutableBinaryInfo.

Parâmetros

Parâmetro Descrição
binary Arquivo; ou None; o padrão é None.
O artefato binário do executável.
cc_info CcInfo; obrigatório
Um CcInfo que contém informações sobre as dependências transitivas vinculadas ao binário.

platform [plataforma]

struct apple_common.platform

Um struct semelhante a um tipo enumerado que contém os seguintes campos correspondentes às plataformas da Apple:
  • ios_device
  • ios_simulator
  • macos
  • tvos_device
  • tvos_simulator
  • visionos_device
  • visionos_simulator
  • watchos_device
  • watchos_simulator

Esses valores podem ser transmitidos para métodos que esperam uma plataforma, como XcodeVersionConfig.sdk_version_for_platform.

platform_type

struct apple_common.platform_type

Um struct semelhante a enum que contém os seguintes campos correspondentes aos tipos de plataforma da Apple:
  • ios
  • macos
  • tvos
  • visionos
  • watchos

Esses valores podem ser transmitidos para métodos que esperam um tipo de plataforma, como o método multi_arch_platform do fragmento de configuração "apple".

Exemplo:

ctx.fragments.apple.multi_arch_platform(apple_common.platform_type.ios)

target_apple_env

dict apple_common.target_apple_env(xcode_config, platform)

Retorna um dict de variáveis de ambiente que precisam ser definidas para ações que criam destinos do tipo de plataforma da Apple especificado. Por exemplo, esse dicionário contém variáveis que indicam o nome da plataforma e a versão do SDK a serem usados no build. As chaves são nomes de variáveis e os valores são seus valores correspondentes.

Parâmetros

Parâmetro Descrição
xcode_config obrigatório
Um provedor com informações sobre a configuração do Xcode.
platform obrigatório
A plataforma Apple.

XcodeProperties

Provider apple_common.XcodeProperties

O construtor/chave do provedor XcodeVersionProperties.

Se um destino propagar o provedor XcodeVersionProperties, use-o como a chave para recuperá-lo. Exemplo:

dep = ctx.attr.deps[0]
p = dep[apple_common.XcodeVersionProperties]

XcodeVersionConfig

Provider apple_common.XcodeVersionConfig

O construtor/chave do provedor XcodeVersionConfig.