Participantes
- 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 (link em inglês)
- plataforma
- platform_type
- target_apple_env
- XcodeProperties
- XcodeVersionConfig
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 os valores correspondentes.
Parâmetros
Parâmetro | Descrição |
---|---|
xcode_config
|
obrigatório Um provedor contendo informações sobre a configuração do xcode. |
apple_toolchain
apple_toolchain apple_common.apple_toolchain()Utilitários para resolver itens do conjunto de ferramentas da Apple.
AppleDebugOutputs
Provider apple_common.AppleDebugOutputsO 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.AppleDynamicFrameworkO 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.AppleExecutableBinaryO 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
|
obrigatório A representação de string 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 um binário (possivelmente com várias arquiteturas) destinado a plataformas da Apple. Esse método compreende uma 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 ao Starlark em rules_apple.
Essa API é altamente experimental e está sujeita a mudanças a qualquer momento. Não dependa da estabilidade dessa função no momento.
Parâmetros
Parâmetro | Descrição |
---|---|
ctx
|
obrigatório O contexto da regra de Starlark. |
avoid_deps
|
sequence of Targets; or None ;
default = NoneUma lista de Target s que estão no gráfico de dependência do binário, mas com bibliotecas que não podem ser vinculadas ao binário. Esse é o caso de dependências que serão encontradas durante a execução em outra imagem, como o carregador de pacotes ou qualquer biblioteca/framework dinâmico que seja carregado por esse binário.
|
extra_linkopts
|
sequence of strings ;
default = []Os links extras podem ser transmitidos para a ação do vinculador. |
extra_link_inputs
|
sequence of Files ;
default = []Arquivos extras a serem transmitidos para a ação do vinculador. |
stamp
|
default = -1 Define se informações de build serão incluídas no binário vinculado. Se for 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. |
link_multi_arch_static_library
struct apple_common.link_multi_arch_static_library(ctx)Vincula uma biblioteca estática (possivelmente com várias arquiteturas) direcionada às plataformas da 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 ao Starlark em rules_apple.
Essa API é altamente experimental e está sujeita a mudanças a qualquer momento. Não dependa da estabilidade dessa função no momento.
Parâmetros
Parâmetro | Descrição |
---|---|
ctx
|
obrigatório O contexto da regra de Starlark. |
multi_arch_split
SplitTransitionProviderApi apple_common.multi_arch_splitUma transição de configuração para atributos de regra para criar dependências em uma ou mais plataformas da Apple.
O uso dessa transição exige que os atributos de string "platform_type" e "minimum_os_version" sejam definidos e obrigatórios na regra.
O valor do atributo platform_type determinará as arquiteturas de destino para as quais as dependências desta transição de configuração serão criadas.
As opções são as seguintes:
ios
: arquiteturas coletadas de--ios_multi_cpus
.macos
: arquiteturas coletadas de--macos_cpus
.tvos
: arquiteturas coletadas de--tvos_cpus
.watchos
: arquiteturas coletadas de--watchos_cpus
.
mínimo_os_version precisa ser uma string de versão pontilhada, como "7.3", e é usada para definir o sistema operacional mínimo na configuração com base no tipo de plataforma. Por exemplo, especificar platform_type "ios" eminimum_os_version "8.0" garante que as dependências sejam criadas com a versão mínima do 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)Cria uma nova instância do provedor AppleDynamicFramework.
Parâmetros
Parâmetro | Descrição |
---|---|
binary
|
File; or None ;
default = NoneO artefato binário dylib do framework dinâmico. |
cc_info
|
default = None Um CcInfo que contém informações sobre as dependências transitivas vinculadas ao binário. |
objc
|
required Um ObjcProvider que contém informações sobre as dependências transitivas vinculadas ao binário. |
framework_dirs
|
depset of strings; or None ;
default = NoneOs nomes dos caminhos do framework usados como entradas de link para vincular ao framework dinâmico. |
framework_files
|
depset of Files; or None ;
default = NoneO conjunto completo de artefatos que precisa ser incluído como entradas para vincular ao framework dinâmico |
new_executable_binary_provider
AppleExecutableBinary apple_common.new_executable_binary_provider(binary=None, cc_info=None, objc)Cria uma nova instância do provedor AppleExecutableBinaryInfo.
Parâmetros
Parâmetro | Descrição |
---|---|
binary
|
File; or None ;
default = NoneO artefato binário do executável. |
cc_info
|
default = None Um CcInfo que contém informações sobre as dependências transitivas vinculadas ao binário. |
objc
|
required Um ObjcProvider que contém informações sobre as dependências transitivas vinculadas ao binário. |
new_objc_provider
ObjcProvider apple_common.new_objc_provider(**kwargs)Cria uma nova instância do ObjcProvider.
Parâmetros
Parâmetro | Descrição |
---|---|
kwargs
|
default = {} Dicionário de argumentos. |
Objc
Provider apple_common.ObjcO construtor/chave do provedor
Objc
.Se um destino propagar o provedor Objc
, use-o como a chave para recuperá-lo. Exemplo:
dep = ctx.attr.deps[0] p = dep[apple_common.Objc]
plataforma
struct apple_common.platformUm struct tipo enumerado que contém os seguintes campos correspondentes às plataformas da Apple:
ios_device
ios_simulator
macos
tvos_device
tvos_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_typeUm struct tipo enumerado que contém os seguintes campos correspondentes aos tipos de plataforma da Apple:
ios
macos
tvos
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".
Exemplos
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 de determinado tipo de plataforma da Apple. Por exemplo, este dicionário contém variáveis que indicam o nome da plataforma e a versão do SDK que serão usadas na compilação. As chaves são nomes de variáveis e os valores são os valores correspondentes.
Parâmetros
Parâmetro | Descrição |
---|---|
xcode_config
|
obrigatório Um provedor contendo informações sobre a configuração do xcode. |
platform
|
obrigatório A plataforma da Apple. |
XcodeProperties
Provider apple_common.XcodePropertiesO 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.XcodeVersionConfigO construtor/chave do provedor
XcodeVersionConfig
.