JavaInfo

Um provedor que encapsula informações sobre destinos Java e Java.

Participantes

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ório
Um 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 = None
O 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 = None
jdeps 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 = None
Um 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 = None
O jar de origem que foi criado como resultado do processamento de anotações.
native_headers_jar File; or None; default = None
Um 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 = None
Informaçõ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.
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 = None
jdeps 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_processing

Retorna 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_plugins

Retorna 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_info

Retorna informações de compilação para este destino semelhante a Java/Java. Poderá haver retorno em None.

compile_jars

depset JavaInfo.compile_jars

Retorna 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_jars

Retorna os JARs normais e completos do tempo de compilação exigidos diretamente pelo destino. Eles podem ser

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_outputs

Retorna informações sobre saídas desse destino semelhante a Java/Java.

module_flags_info

JavaModuleFlagsProvider JavaInfo.module_flags_info

Retorna a configuração da sinalização do módulo Java.

saídas

java_output_jars JavaInfo.outputs

Retorna informações sobre saídas desse destino semelhante a Java/Java. Obsoleto: use java_outputs. Poderá haver retorno em None.

plugins

JavaPluginData JavaInfo.plugins

Retorna 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_jars

Retorna uma lista de JARs de tempo de execução criados por esse destino semelhante a Java.

source_jars

sequence JavaInfo.source_jars

Retorna 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_jars

Retorna o conjunto transitivo de jars necessários para criar o destino.

transitive_deps

depset JavaInfo.transitive_deps

Obsoleto: use JavaInfo.transitive_compile_time_jars. Ela retorna o mesmo valor.

transitive_native_libraries

depset JavaInfo.transitive_native_libraries

Retorna o conjunto transitivo de bibliotecas nativas CC exigidas pelo destino.

transitive_runtime_deps

depset JavaInfo.transitive_runtime_deps

Obsoleto: use JavaInfo.transitive_runtime_jars. Retorna o mesmo valor

transitive_runtime_jars

depset JavaInfo.transitive_runtime_jars

Retorna 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_jars

Retorna os jars que contêm arquivos de origem do destino atual e todas as dependências transitivas dele.