Participantes
- JavaInfo
- annotation_processing
- api_generating_plugins
- compilation_info
- compile_jars
- full_compile_jars
- java_outputs
- module_flags_info
- saídas
- plug-ins
- runtime_output_jars
- source_jars
- to_json
- to_proto
- transitive_compile_time_jars
- transitive_deps
- transitive_native_libraries
- transitive_runtime_deps
- transitive_runtime_jars
- transitive_source_jars
JavaInfo
JavaInfo JavaInfo(output_jar, compile_jar, source_jar=None, compile_jdeps=None, generated_class_jar=None, generated_source_jar=None, native_headers_jar=None, manifest_proto=None, neverlink=False, deps=[], runtime_deps=[], exports=[], exported_plugins=[], jdeps=None, native_libraries=[])O construtor
JavaInfo
.
Parâmetros
Parâmetro | Descrição |
---|---|
output_jar
|
obrigatório O jar que foi criado como resultado de uma compilação (por exemplo, javac, scalac etc). |
compile_jar
|
File; or None ;
obrigatórioUm jar que é adicionado como a dependência do tempo de compilação em vez de output_jar . Normalmente, esse é o ijar produzido por run_ijar . Se não for possível usar o ijar, considere usar a saída de stamp_ijar . Se não quiser usar nenhum dos dois, basta transmitir output_jar . Há alguns casos especiais em que esse parâmetro pode ser definido como None , por exemplo, adicionar um jar com recursos ou quando usado em uma regra de terminal, como java_binary .
|
source_jar
|
File; or None ;
default = NoneO jar de origem que foi usado para criar o jar de saída. Use pack_sources para produzir esse jar de origem.
|
compile_jdeps
|
File; or None ;
default = Nonejdeps informações sobre dependências de tempo de compilação a serem consumidas por JavaCompileAction. Ela precisa ser um proto binário codificado usando o protobuf deps.proto incluído no Bazel. Se disponível, esse arquivo geralmente é produzido por um compilador de cabeçalho. |
generated_class_jar
|
File; or None ;
default = NoneUm arquivo jar contendo arquivos de classe compilados a partir de origens geradas durante o processamento de anotações. |
generated_source_jar
|
File; or None ;
default = NoneO jar de origem que foi criado como resultado do processamento de anotações. |
native_headers_jar
|
File; or None ;
default = NoneUm jar contendo arquivos de cabeçalho CC com suporte à implementação de método nativo (geralmente saída de javac -h). |
manifest_proto
|
File; or None ;
default = NoneInformações do manifesto para a saída da regra (se disponível). Ela precisa ser um proto binário codificado usando o manifesto.proto protobuf incluído no Bazel. IDEs e outras ferramentas podem usar essas informações para um processamento mais eficiente. |
neverlink
|
default = False Se for definido como verdadeiro, use essa biblioteca apenas para compilação, e não durante a execução. |
deps
|
sequence of JavaInfos ;
default = []Dependências de tempo de compilação que foram usadas para criar o jar de saída. |
runtime_deps
|
sequence of JavaInfos ;
default = []Dependências do ambiente de execução necessárias para essa biblioteca. |
exports
|
sequence of JavaInfos ;
default = []Bibliotecas que serão disponibilizadas para os usuários desta biblioteca. Consulte também java_library.exports. |
exported_plugins
|
sequence of JavaPluginInfos ;
default = []Uma lista de plug-ins exportados. Opcional. |
jdeps
|
File; or None ;
default = Nonejdeps informações para a saída da regra (se disponível). Ela precisa ser um proto binário codificado usando o protobuf deps.proto incluído no Bazel. Se disponível, esse arquivo geralmente é produzido por um compilador. IDEs e outras ferramentas podem usar essas informações para um processamento mais eficiente. |
native_libraries
|
sequence of CcInfos ;
default = []Copie as dependências da biblioteca nativa necessárias para essa biblioteca. |
annotation_processing
java_annotation_processing JavaInfo.annotation_processingRetorna informações sobre processadores de anotações aplicados neste destino semelhante a Java/Java.
Obsoleto: use plugins
, que retorna informações sobre os processadores de anotações que serão aplicados aos destinos de consumo.
Poderá haver retorno em None
.
api_generating_plugins
JavaPluginData JavaInfo.api_generating_pluginsRetorna dados sobre a API que gera plug-ins definidos ou exportados por este destino.
Esses processadores de anotações são aplicados a um destino Java antes de produzir os jars de cabeçalho (que contêm assinaturas de método). Quando não há plug-ins de API, os jars de cabeçalho são gerados a partir das origens, reduzindo o caminho crítico.
O api_generating_plugins
é um subconjunto de plugins
.
compilation_info
java_compilation_info JavaInfo.compilation_infoRetorna informações de compilação para este destino semelhante a Java/Java. Poderá haver retorno em
None
.
compile_jars
depset JavaInfo.compile_jarsRetorna os jars exigidos por esse destino diretamente no tempo de compilação. Eles podem ser jars de interface (ijar ou hjar), jars regulares ou ambos, dependendo de as implementações de regra escolherem criar jars de interface ou não.
full_compile_jars
depset JavaInfo.full_compile_jarsRetorna os JARs normais e completos do tempo de compilação exigidos diretamente pelo destino. Eles podem ser
- os JARs normais correspondentes da interface JARs retornados por
JavaInfo.compile_jars
- os jarros comuns (completos) retornados por
JavaInfo.compile_jars
.
Observação: JavaInfo.compile_jars
pode retornar uma combinação de jars de interface e jars normais.
Use esse método somente se a interface Jars não funcionar com seu(s) conjunto(s) de regras (por exemplo, alguns destinos Scala). Se você estiver trabalhando com destinos somente Java, é preferível usar interface Jars via JavaInfo.compile_jars
java_outputs
list JavaInfo.java_outputsRetorna informações sobre saídas desse destino semelhante a Java/Java.
module_flags_info
JavaModuleFlagsProvider JavaInfo.module_flags_infoRetorna a configuração da sinalização do módulo Java.
saídas
java_output_jars JavaInfo.outputsRetorna informações sobre saídas desse destino semelhante a Java/Java. Obsoleto: use java_outputs. Poderá haver retorno em
None
.
plugins
JavaPluginData JavaInfo.pluginsRetorna dados sobre todos os plug-ins a que um destino de consumo deve aplicar.
Normalmente, ele é um java_plugin
ou um java_library
que exporta um ou mais plug-ins.
Uma java_library
executa o processamento de anotações com todos os plug-ins desse campo aparecendo nos atributos deps
e plugins
.
runtime_output_jars
sequence JavaInfo.runtime_output_jarsRetorna uma lista de JARs de tempo de execução criados por esse destino semelhante a Java.
source_jars
sequence JavaInfo.source_jarsRetorna uma lista de jars com todos os arquivos de origem (incluindo aqueles gerados por anotações) do próprio destino, ou seja, NÃO incluindo as origens das dependências transitivas.
to_json
string JavaInfo.to_json()Obsoleto. Esta API foi descontinuada e vai ser removida em breve. Não dependa disso. Ela está desativada com o
---incompatible_struct_has_no_methods
. Use essa sinalização para verificar se seu código é compatível com a remoção iminente. Cria uma string JSON a partir do parâmetro struct. Esse método só funciona se todos os elementos de struct (recursivamente) forem strings, ints, booleanos, outras estruturas, uma lista desses tipos ou um dicionário com chaves de string e valores desses tipos. Aspas e novas linhas em strings têm escape. Por exemplo:
struct(key=123).to_json() # {"key":123} struct(key=True).to_json() # {"key":true} struct(key=[1, 2, 3]).to_json() # {"key":[1,2,3]} struct(key='text').to_json() # {"key":"text"} struct(key=struct(inner_key='text')).to_json() # {"key":{"inner_key":"text"}} struct(key=[struct(inner_key=1), struct(inner_key=2)]).to_json() # {"key":[{"inner_key":1},{"inner_key":2}]} struct(key=struct(inner_key=struct(inner_inner_key='text'))).to_json() # {"key":{"inner_key":{"inner_inner_key":"text"}}}.
Obsoleto: em vez disso, use json.encode(x) ou json.encode_indent(x), que funcionam para valores diferentes de structs e não poluem o namespace do campo struct.
to_proto
string JavaInfo.to_proto()Obsoleto. Esta API foi descontinuada e vai ser removida em breve. Não dependa disso. Ela está desativada com o
---incompatible_struct_has_no_methods
. Use essa sinalização para verificar se seu código é compatível com a remoção iminente. Cria uma mensagem de texto a partir do parâmetro struct. Esse método só funciona se todos os elementos struct (recursivamente) forem strings, ints, booleanos, outras estruturas, dicts ou listas desses tipos. Aspas e novas linhas em strings têm escape. As chaves struct são iteradas na ordem de classificação. Exemplos:
struct(key=123).to_proto() # key: 123 struct(key=True).to_proto() # key: true struct(key=[1, 2, 3]).to_proto() # key: 1 # key: 2 # key: 3 struct(key='text').to_proto() # key: "text" struct(key=struct(inner_key='text')).to_proto() # key { # inner_key: "text" # } struct(key=[struct(inner_key=1), struct(inner_key=2)]).to_proto() # key { # inner_key: 1 # } # key { # inner_key: 2 # } struct(key=struct(inner_key=struct(inner_inner_key='text'))).to_proto() # key { # inner_key { # inner_inner_key: "text" # } # } struct(foo={4: 3, 2: 1}).to_proto() # foo: { # key: 4 # value: 3 # } # foo: { # key: 2 # value: 1 # }
Obsoleto: use proto.encode_text(x).
transitive_compile_time_jars
depset JavaInfo.transitive_compile_time_jarsRetorna o conjunto transitivo de jars necessários para criar o destino.
transitive_deps
depset JavaInfo.transitive_depsObsoleto: use
JavaInfo.transitive_compile_time_jars
. Ela retorna o mesmo valor.
transitive_native_libraries
depset JavaInfo.transitive_native_librariesRetorna o conjunto transitivo de bibliotecas nativas CC exigidas pelo destino.
transitive_runtime_deps
depset JavaInfo.transitive_runtime_depsObsoleto: use
JavaInfo.transitive_runtime_jars
. Retorna o mesmo valor
transitive_runtime_jars
depset JavaInfo.transitive_runtime_jarsRetorna um conjunto transitivo de jars necessários no caminho de classe do tempo de execução do destino.
transitive_source_jars
depset JavaInfo.transitive_source_jarsRetorna os jars que contêm arquivos de origem do destino atual e todas as dependências transitivas dele.