Información de Java

Un proveedor que encapsula información sobre Java y objetivos similares a Java.

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=[])

El constructor JavaInfo

Parámetros

Parámetro Descripción
output_jar obligatorio
El jar que se creó como resultado de una compilación (p. ej., javac, escalar, etcétera)
compile_jar File; or None; obligatorio
Un jar que se agrega como dependencia de tiempo de compilación en lugar de output_jar. Por lo general, este es el ijar que produce run_ijar. Si no puedes usar ijar, considera usar el resultado de stamp_ijar. Si no quieres usar ninguno de los dos, puedes pasar output_jar. Existen algunos casos especiales en los que este parámetro puede configurarse como None, por ejemplo, cuando se agrega un jar con recursos o cuando se usa en una regla de terminal como java_binary.
source_jar File; or None; predeterminado = Ninguno
Es el archivo jar de origen que se usó para crear el archivo jar de resultados. Usa pack_sources para producir este archivo jar de origen.
compile_jdeps File; or None; predeterminado = Ninguno
Información de jdeps sobre las dependencias del tiempo de compilación que consumirá JavaCompileAction. Debe ser un proto binario codificado con el protobuf deps.proto incluido con Bazel. Si está disponible, este archivo generalmente lo produce un compilador de encabezados.
generated_class_jar File; or None; predeterminado = Ninguno
Un archivo jar que contiene archivos de clase compilados a partir de fuentes generadas durante el procesamiento de anotaciones.
generated_source_jar File; or None; predeterminado = Ninguno
El archivo jar de origen que se creó como resultado del procesamiento de anotaciones.
native_headers_jar File; or None; predeterminado = Ninguno
Se trata de un archivo jar que contiene los archivos de encabezado de CC que admiten la implementación de métodos nativos (generalmente, el resultado de javac -h).
manifest_proto File; or None; predeterminado = Ninguno
Información del manifiesto para el resultado de la regla (si está disponible). Debe ser un proto binario codificado con el protobuf manifest.proto incluido con Bazel. Los IDE y otras herramientas pueden usar esta información para un procesamiento más eficiente.
predeterminado = Falso
Si es verdadero, solo usa esta biblioteca para la compilación y no durante el tiempo de ejecución.
deps sequence of JavaInfos; predeterminado = []
Dependencias de tiempo de compilación que se usaron para crear el archivo jar de resultados.
runtime_deps sequence of JavaInfos; predeterminado = []
Las dependencias del entorno de ejecución que se necesitan para esta biblioteca.
exports sequence of JavaInfos; predeterminado = []
Bibliotecas que estarán disponibles para los usuarios de esta biblioteca. Consulta también java_library.exports.
exported_plugins sequence of JavaPluginInfos; predeterminado = []
Una lista de complementos exportados. Opcional.
jdeps File; or None; predeterminado = Ninguno
Información de jdeps para el resultado de la regla (si está disponible). Debe ser un proto binario codificado con el protobuf deps.proto incluido con Bazel. Si está disponible, por lo general, un compilador produce este archivo. Los IDE y otras herramientas pueden usar esta información para un procesamiento más eficiente.
native_libraries sequence of CcInfos; predeterminado = []
Agrega en Cc las dependencias de bibliotecas nativas que se necesiten para esta biblioteca.

annotation_processing

java_annotation_processing JavaInfo.annotation_processing

Muestra información acerca de los procesadores de anotaciones aplicados en este destino similar a Java/Java.

Obsoleto: Usa plugins en su lugar (que devuelve información sobre los procesadores de anotaciones que aplicarán los destinos de consumo). Es posible que se muestre None.

api_generating_plugins

JavaPluginData JavaInfo.api_generating_plugins

Muestra datos sobre complementos que generan API definidos o exportados por este destino.

Esos procesadores de anotaciones se aplican a un destino de Java antes de producir sus archivos jar de encabezado (que contienen firmas de métodos). Cuando no hay complementos de API presentes, se generan archivos jar de encabezado a partir de las fuentes, lo que reduce la ruta crítica.

api_generating_plugins es un subconjunto de plugins.

compilation_info

java_compilation_info JavaInfo.compilation_info

Muestra información de compilación para este objetivo similar a Java/Java. Es posible que se muestre None.

compile_jars

depset JavaInfo.compile_jars

Muestra los archivos jar que requiere este destino directamente en el tiempo de compilación. Pueden ser archivos jar de interfaz (ijar o hjar), jars normales o ambos, dependiendo de si las implementaciones de reglas decidieron crear archivos jar de interfaz o no.

full_compile_jars

depset JavaInfo.full_compile_jars

Muestra los archivos JAR con tiempo de compilación normal y completo que requiere este destino directamente. Pueden ser

Nota: JavaInfo.compile_jars puede mostrar una combinación de archivos jar de interfaz y jars normales.

Usa este método solo si los archivos JAR de interfaz no funcionan con tus conjuntos de reglas (p. ej., algunos objetivos de Scala). Si trabajas con destinos solo de Java, es preferible usar los archivos JAR de interfaz a través de JavaInfo.compile_jars.

java_outputs

list JavaInfo.java_outputs

Muestra información sobre los resultados de este objetivo similar a Java/Java.

module_flags_info

JavaModuleFlagsProvider JavaInfo.module_flags_info

Muestra la configuración de la marca del módulo de Java.

resultados

java_output_jars JavaInfo.outputs

Muestra información sobre los resultados de este objetivo similar a Java/Java. Obsoleto: usa java_outputs. Es posible que se muestre None.

complementos

JavaPluginData JavaInfo.plugins

Muestra datos sobre todos los complementos que debe aplicar un destino consumidor.

Por lo general, es un java_plugin o un java_library que exporta uno o más complementos.

Un java_library ejecuta el procesamiento de anotaciones con todos los complementos de este campo que aparecen en los atributos deps y plugins.

runtime_output_jars

sequence JavaInfo.runtime_output_jars

Muestra una lista de los archivos JAR del entorno de ejecución creados por este destino similar a Java o Java.

source_jars

sequence JavaInfo.source_jars

Muestra una lista de JAR con todos los archivos de origen (incluidos los generados por anotaciones) del propio destino, es decir, NO que incluyen las fuentes de las dependencias transitivas.

to_json

string JavaInfo.to_json()

Obsoleto.. Esta API dejó de estar disponible y se quitará pronto. No dependa de él. Está inhabilitada con ---incompatible_struct_has_no_methods. Usa esta función experimental para verificar que tu código sea compatible con su eliminación inminente.
Crea una string JSON a partir del parámetro struct. Este método solo funciona si todos los elementos struct (de forma recurrente) son cadenas, ints, booleanos, otros structs, una lista de estos tipos o un diccionario con claves de cadenas y valores de estos tipos. Las comillas y las líneas nuevas en las cadenas tienen escape. Ejemplos:
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: En su lugar, usa json.encode(x) o json.encode_indent(x), que funcionan para valores distintos de structs y no contaminan el espacio de nombres del campo de struct.

to_proto

string JavaInfo.to_proto()

Obsoleto.. Esta API dejó de estar disponible y se quitará pronto. No dependa de él. Está inhabilitada con ---incompatible_struct_has_no_methods. Usa esta función experimental para verificar que tu código sea compatible con su eliminación inminente.
Crea un mensaje de texto a partir del parámetro struct. Este método solo funciona si todos los elementos struct (de forma recurrente) son cadenas, ints, booleanos, otros structs o dicts, o listas de estos tipos. Las comillas y las líneas nuevas en las cadenas tienen escape. Las claves de struct se iteran en el orden de clasificación. Ejemplos:
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: usa proto.encode_text(x) en su lugar.

transitive_compile_time_jars

depset JavaInfo.transitive_compile_time_jars

Muestra el conjunto transitivo de jars necesarios para compilar el destino.

transitive_deps

depset JavaInfo.transitive_deps

Obsoleto: Usa JavaInfo.transitive_compile_time_jars en su lugar. Muestra el mismo valor.

transitive_native_libraries

depset JavaInfo.transitive_native_libraries

Muestra el conjunto transitivo de bibliotecas nativas de CC que requiere el destino.

transitive_runtime_deps

depset JavaInfo.transitive_runtime_deps

Obsoleto: Usa JavaInfo.transitive_runtime_jars en su lugar. Muestra el mismo valor

transitive_runtime_jars

depset JavaInfo.transitive_runtime_jars

Muestra un conjunto transitivo de jars necesarios en la ruta de clase del entorno de ejecución del destino.

transitive_source_jars

depset JavaInfo.transitive_source_jars

Muestra los archivos jar que contienen los archivos de origen del destino actual y todas sus dependencias transitivas.