Regras
j2objc_library
Ver 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 o J2ObjC para traduzir arquivos de origem Java para Objective-C, que podem ser usados como dependências das regras objc_library e objc_binary. Informações detalhadas sobre o J2ObjC podem ser encontradas no site do J2ObjC.
É possível especificar flags de transcompilação J2ObjC personalizadas 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 fontes de uma regra objc_library sem opções de compilação especificadas em atributos.
Além disso, o código gerado é desduplicado no nível de destino, não no nível de origem. Se você tiver dois destinos Java diferentes que incluem os mesmos arquivos de origem Java, poderá ocorrer um erro de símbolo duplicado durante a vinculação. A maneira correta de resolver esse problema é mover os arquivos de origem Java compartilhados para um destino comum separado que possa ser usado como dependência.
Argumentos
| Atributos | |
|---|---|
| name | Nome: obrigatório Um nome exclusivo para essa segmentação. | 
| deps | Lista de rótulos. O padrão é  j2objc_library,java_library,java_importejava_proto_libraryque contêm
        arquivos Java a serem transpilados para Objective-C.Todos os destinos  A tradução do J2ObjC funciona de maneira diferente dependendo do tipo de arquivos de origem Java 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 pelo 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 proto_library estiverem no fechamento transitivo dessa regra, os protos do J2ObjC também
        serão 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 precisam ser especificadas nos nomes canônicos, conforme definido pela
        especificação da linguagem
        Java.
        Quando a flag--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ódigo morto.
        As classes não usadas serão removidas do pacote final do app ObjC. | 
| jre_deps | Lista de rótulos. O padrão é  j2objc_library. Somente a funcionalidade principal do JRE é vinculada por padrão. | 
objc_import
Ver 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 um arquivo
.a. Também é possível exportar cabeçalhos e recursos usando os mesmos atributos compatíveis com objc_library.
Argumentos
| Atributos | |
|---|---|
| name | Nome: obrigatório Um nome exclusivo para essa segmentação. | 
| 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 em regras dependentes. Os cabeçalhos que não devem ser incluídos por um cliente dessa biblioteca precisam ser listados no atributo "srcs". Eles serão compilados separadamente da origem se os módulos estiverem ativados. | 
| alwayslink | Booleano; o padrão é  srcsenon_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 pelo código no
          binário, por exemplo, se o código se registrar para receber um callback
          fornecido por algum serviço. | 
| archives | Lista de marcadores; obrigatórioA lista de arquivos .afornecidos para destinos Objective-C que
        dependem desse destino. | 
| includes | Lista de strings. O padrão é  #include/#importa serem adicionados a essa segmentação e a todas as segmentações dependentes.
          Isso é para oferecer suporte a bibliotecas de terceiros e de código aberto que não
          especificam o caminho completo do espaço de trabalho nas instruções#import/#include.
          Os caminhos são interpretados em relação ao diretório do pacote, e as raízes genfiles e bin (por exemplo,  Ao contrário do COPTS, essas flags são adicionadas a essa regra e a todas as regras que dependem dela. Observação: não as regras de que ele depende. Tenha muito cuidado, porque isso pode ter efeitos abrangentes. Em caso de dúvida, adicione flags "-iquote" a COPTS. | 
| sdk_dylibs | Lista de strings. O padrão é  | 
| sdk_frameworks | Lista de strings. O padrão é  Ao vincular um binário de nível superior da Apple, todos os frameworks do SDK listados no gráfico de dependência transitiva desse binário são vinculados. | 
| sdk_includes | Lista de strings. O padrão é  #include/#importa serem adicionados a essa meta e a todas as metas 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
Ver 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 dos arquivos de origem Objective-C especificados.
Argumentos
| Atributos | |
|---|---|
| name | Nome: obrigatório Um nome exclusivo para essa segmentação. | 
| 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 em regras dependentes. Os cabeçalhos que não devem ser incluídos por um cliente dessa biblioteca precisam ser listados no atributo "srcs". Eles serão compilados separadamente da origem se os módulos estiverem ativados. | 
| alwayslink | Booleano; o padrão é  srcsenon_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 pelo código no
          binário, por exemplo, se o código se registrar para receber um callback
          fornecido por algum serviço. | 
| copts | Lista de strings. O padrão é  No projeto Xcode gerado, os caminhos de diretório especificados usando flags "-I" em copts são analisados, precedidos por "$(WORKSPACE_ROOT)/" se forem caminhos relativos e adicionados aos caminhos de pesquisa de cabeçalho para o destino Xcode associado. | 
| defines | Lista de strings. O padrão é  -Dextras a serem transmitidas ao compilador. Eles precisam estar no formatoKEY=VALUEou simplesmenteKEYe são transmitidos não apenas ao compilador desse destino (comocopts), mas também a todos os dependentesobjc_desse destino.
          Sujeito à substituição de "Criar variável" e
          tokenização do shell Bourne. | 
| enable_modules | Booleano; o padrão é  | 
| implementation_deps | Lista de rótulos. O padrão é  deps, os cabeçalhos e caminhos de inclusão dessas bibliotecas (e todas as dependências transitivas delas) são usados apenas para a compilação dessa biblioteca, e não para as que dependem dela. As bibliotecas especificadas comimplementation_depsainda são vinculadas
          em destinos binários que dependem dessa biblioteca. | 
| includes | Lista de strings. O padrão é  #include/#importa serem adicionados a essa segmentação e a todas as segmentações dependentes.
          Isso é para oferecer suporte a bibliotecas de terceiros e de código aberto que não
          especificam o caminho completo do espaço de trabalho nas instruções#import/#include.
          Os caminhos são interpretados em relação ao diretório do pacote, e as raízes genfiles e bin (por exemplo,  Ao contrário do COPTS, essas flags são adicionadas a essa regra e a todas as regras que dependem dela. Observação: não as regras de que ele depende. Tenha muito cuidado, porque isso pode ter efeitos abrangentes. Em caso de dúvida, adicione flags "-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 de nível superior da Apple, todos os frameworks do SDK listados no gráfico de dependência transitiva desse binário são vinculados. | 
| sdk_includes | Lista de strings. O padrão é  #include/#importa serem adicionados a essa meta e a todas as metas 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
Ver origem da regraavailable_xcodes(name, default, deprecation, distribs, features, licenses, tags, testonly, versions, visibility)
Duas metas dessa regra podem ser usadas por uma instância de regra xcode_config para indicar as versões do Xcode disponíveis remotamente e localmente.
Isso permite a seleção de uma versão oficial do Xcode entre as disponíveis.
Argumentos
| Atributos | |
|---|---|
| name | Nome: obrigatório Um nome exclusivo para essa segmentação. | 
| default | Rótulo; não configurável; obrigatórioA versão padrão do Xcode para essa plataforma. | 
| versions | Lista de marcadores não configuráveis. O padrão é  | 
xcode_config
Ver origem da regraxcode_config(name, default, deprecation, distribs, features, licenses, local_versions, remote_versions, tags, testonly, versions, visibility)
Um único destino dessa regra pode ser referenciado pela flag 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 em vários aliases registrados.
Argumentos
| Atributos | |
|---|---|
| name | Nome: obrigatório Um nome exclusivo para essa segmentação. | 
| default | Rótulo; não configurável; o padrão é  xcode_versionfornecida será usada se nenhuma flag de buildxcode_versionfor especificada. Obrigatório se algumversionsestiver definido. Não pode ser definido seremote_versionsoulocal_versionsestiver definido. | 
| local_versions | Rótulo; não configurável; o padrão é  xcode_versiondisponíveis localmente.
        Eles são usados comlocal_versionspara selecionar uma versão disponível
        para ambos. Não pode ser definido seversionsestiver definido. | 
| remote_versions | Rótulo; não configurável; o padrão é  xcode_versionque estão disponíveis remotamente.
        Eles são usados comremote_versionspara selecionar uma versão disponível
        para ambos. Não pode ser definido seversionsestiver definido. | 
| versions | Lista de marcadores não configuráveis. O padrão é  xcode_versionaceitos que podem ser usados.
        Se o valor da flag de buildxcode_versioncorresponder a um dos aliases
        ou ao número da versão de qualquer um dos destinosxcode_versionespecificados, o destino
        correspondente será usado. Não pode ser definido seremote_versionsoulocal_versionsestiver definido. | 
xcode_version
Ver 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 essa segmentação. | 
| default_ios_sdk_version | String; não configurável; o padrão é  ios_sdk_versionvai substituir o valor especificado aqui. | 
| default_macos_sdk_version | String; não configurável; o padrão é  macos_sdk_versionvai substituir o valor especificado aqui. | 
| default_tvos_sdk_version | String; não configurável; o padrão é  tvos_sdk_versionvai substituir o valor especificado aqui. | 
| default_visionos_sdk_version | String; não configurável; o padrão é  visionos_sdk_versionvai substituir o valor especificado aqui. | 
| default_watchos_sdk_version | String; não configurável; o padrão é  watchos_sdk_versionvai substituir o valor especificado aqui. | 
| version | String; não configurável; obrigatórioO número da versão oficial de uma versão do Xcode. |