Regras
j2objc_library
Exibir origem da regraj2objc_library(name, deps, compatible_with, deprecation, distribs, entry_classes, features, jre_deps, licenses, restricted_to, tags, target_compatible_with, testonly, visibility)
Essa regra usa J2ObjC para converter arquivos de origem Java para Objective-C, que podem ser usados como dependências das regras objc_library e objc_binary. Veja informações detalhadas sobre o próprio J2ObjC no site do 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 em um destino j2objc_library serão compilados usando a configuração de compilação padrão, a mesma configuração das origens 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 dois destinos Java diferentes que incluem os mesmos arquivos de origem Java, um erro de símbolo duplicado poderá ser exibido no momento da vinculação. A maneira correta de resolver esse problema é mover os arquivos de origem Java compartilhados para um destino comum separado, que pode ser dependente.
Argumentos
Atributos | |
---|---|
name |
Nome, obrigatório Um nome exclusivo para o destino. |
deps
|
Lista de rótulos. O padrão é j2objc_library , java_library , java_import e java_proto_library que contêm arquivos Java a serem transcompilados para Objective-C.
Todos os destinos A tradução J2ObjC funciona de maneira diferente, dependendo do tipo dos arquivos de origem Java de origem incluídos no fechamento transitivo. Para cada arquivo de origem .java incluído em
Os usuários podem importar os arquivos de cabeçalho gerados por J2ObjC no código. Os caminhos de importação
desses 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ão gerados, compilados e vinculados no nível binário. Para |
entry_classes
|
Lista de strings. O padrão é --j2objc_dead_code_removal
estiver ativada. As classes Java precisam ser especificadas nos nomes canônicos, conforme definido pela especificação da linguagem Java.
Quando a sinalização --j2objc_dead_code_removal é especificada, a lista de classes de entrada
é coletada de forma transitiva e usada como pontos de entrada para realizar a análise de códigos inativos.
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
Exibir 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)
Esta regra encapsula uma biblioteca estática já compilada na forma de um
arquivo .a
. Ele também permite exportar cabeçalhos e recursos usando os mesmos
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 nessa regra ou em regras dependentes. Os cabeçalhos que não serão incluídos por um cliente dessa biblioteca precisarão 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 alguns não contenham
símbolos referenciados pelo binário.
Isso é útil se o código não for chamado explicitamente por código no
binário, por exemplo, se seu código for registrado para receber algum callback
fornecido por algum serviço.
|
archives
|
Lista de rótulos, obrigatório A lista de arquivos.a fornecidos para destinos Objective-C que dependem desse destino.
|
includes
|
Lista de strings. O padrão é #include/#import a serem adicionados a este destino
e a todos os destinos dependentes.
Isso oferece suporte a bibliotecas de terceiros e de código aberto que não especificam todo o caminho do espaço de trabalho nas instruções #import/#include .
Os caminhos são interpretados em relação ao diretório do pacote, e os
genfiles e as raízes bin (por exemplo, Ao contrário de COPTS, essas sinalizações são adicionadas a essa regra e a todas as regras que dependem dela. Observação: não são as regras das quais ele depende. Tenha muito cuidado, já que isso pode ter efeitos mais amplos. Em caso de dúvida, adicione sinalizações "-iquote" a 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 gráfico de dependência transitivo desse binário serão vinculados. |
sdk_includes
|
Lista de strings. O padrão é #include/#import a serem adicionados a esse destino
e a todos os destinos dependentes, em que cada caminho é relativo a
$(SDKROOT)/usr/include .
|
textual_hdrs
|
Lista de rótulos. O padrão é |
weak_sdk_frameworks
|
Lista de strings. O padrão é |
objc_library
Exibir 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 nessa regra ou em regras dependentes. Os cabeçalhos que não serão incluídos por um cliente dessa biblioteca precisarão 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 alguns não contenham
símbolos referenciados pelo binário.
Isso é útil se o código não for chamado explicitamente por código no
binário, por exemplo, se seu código for registrado para receber algum callback
fornecido 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 flags "-I" em copts são analisados, prefixados com "$(WORKSPACE_ROOT)/" se forem caminhos relativos e adicionados aos caminhos de pesquisa do cabeçalho para o destino do Xcode associado. |
defines
|
Lista de strings. O padrão é -D extras a serem transmitidas para o compilador. Eles precisam estar na forma KEY=VALUE ou simplesmente KEY e são passadas não apenas para o compilador desse destino (como copts ), mas também para todas as dependências de objc_ desse destino.
Sujeito à substituição de "Make variables" e à
tokenização de shell Bourne.
|
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 todas as
dependências transitivas) são usados apenas para compilação dessa biblioteca, e não para bibliotecas que
dependem dela. As bibliotecas especificadas com implementation_deps ainda são vinculadas em destinos binários que dependem dessa biblioteca.
|
includes
|
Lista de strings. O padrão é #include/#import a serem adicionados a este destino
e a todos os destinos dependentes.
Isso oferece suporte a bibliotecas de terceiros e de código aberto que não especificam todo o caminho do espaço de trabalho nas instruções #import/#include .
Os caminhos são interpretados em relação ao diretório do pacote, e os
genfiles e as raízes bin (por exemplo, Ao contrário de COPTS, essas sinalizações são adicionadas a essa regra e a todas as regras que dependem dela. Observação: não são as regras das quais ele depende. Tenha muito cuidado, já que isso pode ter efeitos mais amplos. Em caso de dúvida, adicione sinalizações "-iquote" a 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 gráfico de dependência transitivo desse binário serão vinculados. |
sdk_includes
|
Lista de strings. O padrão é #include/#import a serem adicionados a esse destino
e a todos os destinos dependentes, em que cada caminho é relativo a
$(SDKROOT)/usr/include .
|
textual_hdrs
|
Lista de rótulos. O padrão é |
weak_sdk_frameworks
|
Lista de strings. O padrão é |
available_xcodes
Exibir 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; não configurável; obrigatório A versão padrão do Xcode para esta plataforma. |
versions
|
Lista de marcadores; não configurável; o padrão é |
xcode_config
Exibir 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 pela sinalização de 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; não configurável; o padrão é xcode_version fornecido será usada se
nenhuma sinalização de build xcode_version for especificada. Isso será necessário se versions estiver definido. Ele não poderá ser definido se remote_versions ou
local_versions estiver definido.
|
local_versions
|
Rótulo; não configurável; o padrão é xcode_version que estão disponíveis localmente.
Eles são usados com local_versions para selecionar uma versão mutuamente
disponível. Pode não ser definido se versions estiver definido.
|
remote_versions
|
Rótulo; não configurável; o padrão é xcode_version que estão disponíveis remotamente.
Eles são usados com remote_versions para selecionar uma versão mutuamente
disponível. Pode não ser definido se versions estiver definido.
|
versions
|
Lista de marcadores; não configurável; o padrão é xcode_version segmentações que podem ser usadas foram aceitas.
Se o valor da sinalização de build xcode_version corresponder a um dos aliases
ou ao número da versão de qualquer um dos destinos xcode_version fornecidos, o destino
correspondente será usado. Ele não poderá ser definido se remote_versions ou
local_versions estiver definido.
|
xcode_version
Exibir 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; não configurável; o padrão é ios_sdk_version vai substituir o valor especificado aqui.
|
default_macos_sdk_version
|
String; não configurável; o padrão é macos_sdk_version vai substituir o valor especificado aqui.
|
default_tvos_sdk_version
|
String; não configurável; o padrão é tvos_sdk_version vai substituir o valor especificado aqui.
|
default_visionos_sdk_version
|
String; não configurável; o padrão é visionos_sdk_version vai substituir o valor especificado aqui.
|
default_watchos_sdk_version
|
String; não configurável; o padrão é watchos_sdk_version vai substituir o valor especificado aqui.
|
version
|
String; não configurável; obrigatório O número da versão oficial de uma versão do Xcode. |