Regras
j2objc_library
Conferir origem da regraj2objc_library(name, deps, compatible_with, deprecation, distribs, entry_classes, features, jre_deps, licenses, restricted_to, tags, target_compatible_with, testonly, visibility)
Esta regra usa J2ObjC para traduzir código-fonte Java arquivos para Objective-C, que podem ser usados como dependências de objc_library e objc_binary regras de firewall. Informações detalhadas sobre o J2ObjC podem ser encontradas em Site da J2ObjC
As flags personalizadas de transpilação J2ObjC podem ser especificadas usando a flag de build.
--j2objc_translation_flags
na linha de comando.
Os arquivos traduzidos incluídos no destino j2objc_library serão compilada usando a configuração padrão, a mesma configuração das fontes de uma regra objc_library sem opções de compilação especificadas nos atributos.
Além disso, a duplicação do código gerado é eliminada no nível da meta, não da origem. Se você tiver duas destinos Java diferentes que incluem os mesmos arquivos de origem Java, um erro de símbolo duplicado pode ser exibido no momento da vinculação. A maneira correta de resolver esse problema é mover os arquivos de origem Java compartilhados para um segmentos comuns separados dos quais se pode confiar.
Argumentos
Atributos | |
---|---|
name |
Nome; obrigatório Um nome exclusivo para o destino. |
deps
|
Lista de rótulos o padrão é j2objc_library , java_library ,
Destinos java_import e java_proto_library que contêm
Arquivos Java a serem transcompilados para Objective-C.
Todas as metas de A tradução J2ObjC funciona de maneira diferente dependendo do tipo de origem Java
arquivos incluídos no fechamento transitivo. Para cada arquivo de origem .java incluído
Os usuários podem importar os arquivos de cabeçalho gerados por J2ObjC no código. Os caminhos de importação de
esses arquivos são o caminho relativo à raiz dos artefatos Java originais. Por exemplo:
Se as regras de proto_library estiverem no fechamento transitivo dessa regra, os protos J2ObjC também
ser gerados, compilados e vinculados no nível binário. Para proto
|
entry_classes
|
Lista de strings o padrão é --j2objc_dead_code_removal
estiver ativada. As classes Java devem ser especificadas em seus nomes canônicos, conforme definido pelo
a API
especificação da linguagem.
Quando a flag --j2objc_dead_code_removal é especificada, a lista de classes de entrada
serão coletados de forma transitiva e usados como pontos de entrada para realizar análises de códigos mortos.
As classes não usadas serão removidas do pacote de apps ObjC final.
|
jre_deps
|
Lista de rótulos o padrão é j2objc_library . Somente a funcionalidade principal do JRE é vinculada por padrão.
|
objc_import
Conferir origem da regraobjc_import(name, deps, hdrs, alwayslink, archives, compatible_with, deprecation, distribs, features, includes, licenses, restricted_to, sdk_dylibs, sdk_frameworks, sdk_includes, tags, target_compatible_with, testonly, textual_hdrs, visibility, weak_sdk_frameworks)
Essa regra encapsula uma biblioteca estática já compilada na forma de uma
.a
. Ele também permite exportar cabeçalhos e recursos usando a mesma
atributos compatíveis com objc_library
.
Argumentos
Atributos | |
---|---|
name |
Nome; obrigatório Um nome exclusivo para o destino. |
deps
|
Lista de rótulos o padrão é |
hdrs
|
Lista de rótulos o padrão é Esses cabeçalhos descrevem a interface pública da biblioteca e serão disponibilizados para inclusão por fontes nesta regra ou dependente regras de firewall. Cabeçalhos não incluídos por um cliente desta biblioteca devem ser listados no atributo srcs. Se os módulos estiverem ativados, eles serão compilados separadamente da origem. |
alwayslink
|
Booleano; o padrão é srcs e non_arc_srcs , mesmo que algumas contenham não
símbolos referenciados pelo binário.
Isso é útil se o código não for chamado explicitamente por código em
o binário, por exemplo, caso seu código seja registrado para receber algum callback
por algum serviço.
|
archives
|
Lista de rótulos obrigatório A lista de arquivos.a fornecidos para alvos Objective-C que
dependerão dessa meta.
|
includes
|
Lista de strings o padrão é #include/#import caminhos de pesquisa para adicionar a este destino
e todas as metas dependentes.
Isso serve para dar suporte a bibliotecas de terceiros e de código aberto que não
especificar todo o caminho do espaço de trabalho
instruções #import/#include .
Os caminhos são interpretados em relação ao diretório do pacote, e o
genfiles e raízes bin (por exemplo, Ao contrário de COPTS, essas sinalizações são adicionadas para esta regra e todas as regras que dependem dele. Observação: não são as regras das quais ele depende. Tenha tenha muito cuidado, já que isso pode ter efeitos mais amplos. Em caso de dúvida, adicione "-iquote" para COPTS. |
sdk_dylibs
|
Lista de strings o padrão é |
sdk_frameworks
|
Lista de strings o padrão é Ao vincular um binário da Apple de nível superior, todos os frameworks do SDK listados no e o gráfico de dependência transitivo são vinculados. |
sdk_includes
|
Lista de strings o padrão é #include/#import caminhos de pesquisa para adicionar a este destino
e todos os destinos dependentes, em que cada caminho é relativo ao
$(SDKROOT)/usr/include .
|
textual_hdrs
|
Lista de rótulos o padrão é |
weak_sdk_frameworks
|
Lista de strings o padrão é |
objc_library
Conferir origem da regraobjc_library(name, deps, srcs, data, hdrs, alwayslink, compatible_with, copts, defines, deprecation, distribs, enable_modules, exec_compatible_with, exec_properties, features, implementation_deps, includes, licenses, linkopts, module_map, module_name, non_arc_srcs, pch, restricted_to, sdk_dylibs, sdk_frameworks, sdk_includes, tags, target_compatible_with, testonly, textual_hdrs, toolchains, visibility, weak_sdk_frameworks)
Essa regra produz uma biblioteca estática a partir dos arquivos de origem do Objective-C fornecidos.
Argumentos
Atributos | |
---|---|
name |
Nome; obrigatório Um nome exclusivo para o destino. |
deps
|
Lista de rótulos o padrão é |
srcs
|
Lista de rótulos o padrão é |
hdrs
|
Lista de rótulos o padrão é Esses cabeçalhos descrevem a interface pública da biblioteca e serão disponibilizados para inclusão por fontes nesta regra ou dependente regras de firewall. Cabeçalhos não incluídos por um cliente desta biblioteca devem ser listados no atributo srcs. Se os módulos estiverem ativados, eles serão compilados separadamente da origem. |
alwayslink
|
Booleano; o padrão é srcs e non_arc_srcs , mesmo que algumas contenham não
símbolos referenciados pelo binário.
Isso é útil se o código não for chamado explicitamente por código em
o binário, por exemplo, caso seu código seja registrado para receber algum callback
por algum serviço.
|
copts
|
Lista de strings o padrão é Observe que, para o projeto Xcode gerado, os caminhos de diretório especificados usando "-I" sinalizações em os copts são analisados e adicionados com "$(WORKSPACE_ROOT)/" se forem caminhos relativos adicionado aos caminhos de busca do cabeçalho para o destino Xcode associado. |
defines
|
Lista de strings o padrão é -D extras a serem transmitidas para o compilador. Elas devem estar
na forma KEY=VALUE ou simplesmente KEY e são
transmitido não apenas para o compilador desse destino (como copts
são), mas também para todos os objc_ dependentes desse destino.
Sujeito à substituição "Make variables" e
Tokenização de Bourne Shell.
|
enable_modules
|
Booleano; o padrão é |
implementation_deps
|
Lista de rótulos o padrão é deps , os cabeçalhos e os caminhos de inclusão dessas bibliotecas (e de todas
transitives) são usadas apenas para compilação dessa biblioteca, e não para bibliotecas que
dependerem disso. As bibliotecas especificadas com implementation_deps ainda estão vinculadas
em destinos binários que dependem dessa biblioteca.
|
includes
|
Lista de strings o padrão é #include/#import caminhos de pesquisa para adicionar a este destino
e todas as metas dependentes.
Isso serve para dar suporte a bibliotecas de terceiros e de código aberto que não
especificar todo o caminho do espaço de trabalho
instruções #import/#include .
Os caminhos são interpretados em relação ao diretório do pacote, e o
genfiles e raízes bin (por exemplo, Ao contrário de COPTS, essas sinalizações são adicionadas para esta regra e todas as regras que dependem dele. Observação: não são as regras das quais ele depende. Tenha tenha muito cuidado, já que isso pode ter efeitos mais amplos. Em caso de dúvida, adicione "-iquote" para COPTS. |
linkopts
|
Lista de strings o padrão é |
module_map
|
Rótulo o padrão é |
module_name
|
String; o padrão é |
non_arc_srcs
|
Lista de rótulos o padrão é |
pch
|
Rótulo o padrão é |
sdk_dylibs
|
Lista de strings o padrão é |
sdk_frameworks
|
Lista de strings o padrão é Ao vincular um binário da Apple de nível superior, todos os frameworks do SDK listados no e o gráfico de dependência transitivo são vinculados. |
sdk_includes
|
Lista de strings o padrão é #include/#import caminhos de pesquisa para adicionar a este destino
e todos os destinos dependentes, em que cada caminho é relativo ao
$(SDKROOT)/usr/include .
|
textual_hdrs
|
Lista de rótulos o padrão é |
weak_sdk_frameworks
|
Lista de strings o padrão é |
available_xcodes
Conferir origem da regraavailable_xcodes(name, default, deprecation, distribs, features, licenses, tags, testonly, versions, visibility)
Dois destinos desta regra podem depender de uma instância de regra xcode_config
para
indicar as versões do XCode disponíveis remota e localmente.
Isso permite a seleção de uma versão oficial do Xcode entre os disponíveis coletivamente.
Argumentos
Atributos | |
---|---|
name |
Nome; obrigatório Um nome exclusivo para o destino. |
default
|
Rótulo nonconfigurable; obrigatório A versão padrão do Xcode para esta plataforma. |
versions
|
Lista de rótulos nonconfigurable; o padrão é |
xcode_config
Conferir origem da regraxcode_config(name, default, deprecation, distribs, features, licenses, local_versions, remote_versions, tags, testonly, versions, visibility)
Um único destino desta regra pode ser referenciado pelo build --xcode_version_config
para traduzir a flag --xcode_version
em uma versão oficial aceita do Xcode.
Isso permite a seleção de uma versão oficial do xcode entre diversos aliases registrados.
Argumentos
Atributos | |
---|---|
name |
Nome; obrigatório Um nome exclusivo para o destino. |
default
|
Rótulo nonconfigurable; o padrão é xcode_version fornecido será usada se
nenhuma flag de build xcode_version foi especificada. É obrigatório se houver
versions foram definidos. Ele não pode ser definido se remote_versions ou
local_versions foi definido.
|
local_versions
|
Rótulo nonconfigurable; o padrão é xcode_version que estão disponíveis localmente.
Eles são usados com local_versions para selecionar um objeto mutuamente
para a versão anterior. Pode não ser definido se versions estiver definido.
|
remote_versions
|
Rótulo nonconfigurable; o padrão é xcode_version que estão disponíveis remotamente.
Eles são usados com remote_versions para selecionar um objeto mutuamente
para a versão anterior. Pode não ser definido se versions estiver definido.
|
versions
|
Lista de rótulos nonconfigurable; o padrão é xcode_version segmentações que podem ser usadas foram aceitas.
Se o valor da flag de build xcode_version corresponder a um dos aliases
ou o número da versão de qualquer um dos destinos xcode_version fornecidos, a correspondência
destino será usado. Ele não pode ser definido se remote_versions ou
local_versions foi definido.
|
xcode_version
Conferir origem da regraxcode_version(name, default_ios_sdk_version, default_macos_sdk_version, default_tvos_sdk_version, default_visionos_sdk_version, default_watchos_sdk_version, deprecation, distribs, features, licenses, tags, testonly, version, visibility)
Representa uma única versão oficial do xcode com aliases aceitáveis para essa versão.
Consulte a regra xcode_config
.
Argumentos
Atributos | |
---|---|
name |
Nome; obrigatório Um nome exclusivo para o destino. |
default_ios_sdk_version
|
String; nonconfigurable; o padrão é ios_sdk_version vai substituir o valor especificado aqui.
|
default_macos_sdk_version
|
String; nonconfigurable; o padrão é macos_sdk_version vai substituir o valor especificado aqui.
|
default_tvos_sdk_version
|
String; nonconfigurable; o padrão é tvos_sdk_version vai substituir o valor especificado aqui.
|
default_visionos_sdk_version
|
String; nonconfigurable; o padrão é visionos_sdk_version vai substituir o valor especificado aqui.
|
default_watchos_sdk_version
|
String; nonconfigurable; o padrão é watchos_sdk_version vai substituir o valor especificado aqui.
|
version
|
String; nonconfigurable; obrigatório O número da versão oficial de uma versão do Xcode. |