JavaInfo

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

Membros

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 criado como resultado de uma compilação (por exemplo, javac, scalac etc.).
compile_jar File; or None obrigatório
Um jar adicionado como a dependência do tempo de compilação no lugar de output_jar. Normalmente, esse é o ijar produzido por run_ijar. Se não for possível usar o ijar, use a saída de stamp_ijar. Caso não queira usar nenhum dos dois, basta transmitir output_jar. Há alguns casos especiais em que esse parâmetro pode ser definido como None. Por exemplo, ao adicionar um jar com recursos ou quando usado em uma regra de terminal como java_binary.
source_jar File; or None padrão = Nenhum
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 padrão = Nenhum
Informações de jdeps sobre dependências de tempo de compilação a serem consumidas por JavaCompileAction. Ele precisa ser um proto binário codificado usando o protobuf deps.proto incluído no Bazel. Se disponível, esse arquivo normalmente é produzido por um compilador de cabeçalhos.
generated_class_jar File; or None padrão = Nenhum
Um arquivo jar contendo arquivos de classe compilados de fontes geradas durante o processamento da anotação.
generated_source_jar File; or None padrão = Nenhum
O jar de origem que foi criado como resultado do processamento da anotação.
native_headers_jar File; or None padrão = Nenhum
Um jar contendo arquivos de cabeçalho CC que suportam a implementação de método nativo (normalmente saída de javac -h).
manifest_proto File; or None padrão = Nenhum
Informações do manifesto para a saída da regra (se disponíveis). Ele precisa ser um proto binário codificado usando o protobuf manifest.proto incluído no Bazel. Os ambientes de desenvolvimento integrado e outras ferramentas podem usar essas informações para tornar o processamento mais eficiente.
padrão = Falso
Se for verdadeiro, use essa biblioteca apenas para compilação e não durante a execução.
deps sequence of JavaInfos padrão = []
Compilar as dependências de tempo que foram usadas para criar o jar de saída.
runtime_deps sequence of JavaInfos padrão = []
Dependências de ambiente de execução que são necessárias para essa biblioteca.
exports sequence of JavaInfos padrão = []
Bibliotecas a serem disponibilizadas aos usuários desta biblioteca. Consulte também java_library.exports.
exported_plugins sequence of JavaPluginInfos padrão = []
Uma lista de plug-ins exportados. Opcional.
jdeps File; or None padrão = Nenhum
Informações de jdeps para a saída da regra (se disponíveis). Ele precisa ser um proto binário codificado usando o protobuf deps.proto incluído no Bazel. Se disponível, esse arquivo normalmente é produzido por um compilador. Os ambientes de desenvolvimento integrado e outras ferramentas podem usar essas informações para tornar o processamento mais eficiente.
native_libraries sequence of CcInfos padrão = []
CC para 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 do tipo Java/Java.

Descontinuado: use plugins, que retorna informações sobre processadores de anotações que serão aplicados pelos destinos de consumo. Pode retornar None.

api_generating_plugins

JavaPluginData JavaInfo.api_generating_plugins

Retorna dados sobre plug-ins que geram APIs, definidos ou exportados por esse destino.

Esses processadores de anotações são aplicados a um destino Java antes de produzir seus jars de cabeçalho (que contêm assinaturas de método). Quando nenhum plug-in de API está presente, jars de cabeçalho são gerados a partir das origens, reduzindo o caminho crítico.

O api_generating_plugins é um subconjunto do plugins.

compilation_info

java_compilation_info JavaInfo.compilation_info

Retorna informações de compilação para esse destino do tipo Java/Java. Pode retornar 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 normais ou ambos, dependendo se as implementações de regras optaram por criar jars de interface ou não.

full_compile_jars

depset JavaInfo.full_compile_jars

Retorna os jars normais em tempo de compilação completos exigidos por esse destino diretamente. Eles podem ser

Observação: JavaInfo.compile_jars pode retornar uma combinação de jars de interface e jars normais.

Use esse método apenas se os jars de interface não funcionarem com seus conjuntos de regras (por exemplo, alguns destinos do Scala). Se você estiver trabalhando com destinos somente em Java, é preferível usar jars de interface via JavaInfo.compile_jars.

java_outputs

list JavaInfo.java_outputs

Retorna informações sobre as saídas desse destino do tipo 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 as saídas desse destino do tipo Java/Java. Obsoleto: use java_outputs. Pode retornar None.

plugins

JavaPluginData JavaInfo.plugins

Retorna dados sobre todos os plug-ins que um destino consumidor deve aplicar.

Normalmente, é um java_plugin ou um java_library que exporta um ou mais plug-ins.

Um 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 ambiente de execução criados por esse destino do tipo Java/Java.

source_jars

sequence JavaInfo.source_jars

Retorna uma lista de jars com todos os arquivos de origem (incluindo os 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()

Descontinuado. Essa API foi descontinuada e será removida em breve. Não dependa disso. Ele está desativado com ---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 usando o parâmetro struct. Esse método só funciona se todos os elementos 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 são escapadas. Exemplos:
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: use json.encode(x) ou json.encode_indent(x), que funcionam para valores diferentes de structs e não poluem o namespace do campo de struct.

to_proto

string JavaInfo.to_proto()

Descontinuado. Essa API foi descontinuada e será removida em breve. Não dependa disso. Ele está desativado com ---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 usando o parâmetro struct. Esse método só funciona se todos os elementos struct (recursivamente) forem strings, ints, booleanos, outros structs ou dicts ou listas desses tipos. Aspas e novas linhas em strings são escapadas. As chaves de 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 do CC exigidas pelo destino.

transitive_runtime_deps

depset JavaInfo.transitive_runtime_deps

Obsoleto: use JavaInfo.transitive_runtime_jars. Ela 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 ambiente de execução do destino.

transitive_source_jars

depset JavaInfo.transitive_source_jars

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