Información de Java

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

Miembros

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 required
El jar que se creó como resultado de una compilación (p.ej., javac, scalac, 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, es el ijar que produce run_ijar. Si no puedes usar ijar, considera usar el resultado de stamp_ijar. Si no deseas usar ninguno de los dos, puedes pasar output_jar. Hay algunos casos especiales en los que este parámetro se puede establecer en 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; default = None
El jar de origen que se usó para crear el jar de salida. Usa pack_sources para producir este jar de origen.
compile_jdeps File; or None; default = None
Información de jdeps sobre las dependencias de tiempo de compilación que consumirá JavaCompileAction. Debe ser un archivo proto binario codificado mediante el protobuf de deps.proto incluido con Bazel. Si está disponible, un compilador de encabezados suele producir este archivo.
generated_class_jar File; or None; default = None
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; default = None
El jar de origen que se creó como resultado del procesamiento de anotaciones.
native_headers_jar File; or None; default = None
Un archivo jar que contiene archivos de encabezado CC que admiten la implementación de métodos nativos (por lo general, resultado de javac -h).
manifest_proto File; or None; default = None
Información del manifiesto para el resultado de la regla (si está disponible). Debe ser un archivo proto binario codificado mediante el protobuf manifiesto.proto incluido con Bazel. Los IDE y otras herramientas pueden usar esta información para lograr un procesamiento más eficiente.
default = False
Si es verdadero, solo usa esta biblioteca para la compilación y no durante el tiempo de ejecución.
deps sequence of JavaInfos; default = []
Dependencias de tiempo de compilación que se usaron para crear el archivo jar de salida.
runtime_deps sequence of JavaInfos; default = []
Dependencias de entorno de ejecución que se necesitan para esta biblioteca.
exports sequence of JavaInfos; default = []
Las bibliotecas que estarán disponibles para los usuarios de esta biblioteca. Consulta también java_library.exports.
exported_plugins sequence of JavaPluginInfos; default = []
Una lista de complementos exportados. Opcional.
jdeps File; or None; default = None
Información de jdeps para el resultado de la regla (si está disponible). Debe ser un archivo proto binario codificado mediante el protobuf de deps.proto incluido con Bazel. Si está disponible, un compilador suele producir este archivo. Los IDE y otras herramientas pueden usar esta información para lograr un procesamiento más eficiente.
native_libraries sequence of CcInfos; predeterminado = []
Dependencias de la biblioteca nativa de CC que se necesitan para esta biblioteca.

annotation_processing

java_annotation_processing JavaInfo.annotation_processing

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

Obsoleto: usa plugins en su lugar (que muestra información sobre procesadores de anotaciones que se aplicarán a los objetivos de consumo). Puede devolver None.

api_generating_plugins

JavaPluginData JavaInfo.api_generating_plugins

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

Esos procesadores de anotaciones se aplican a un destino Java antes de producir sus archivos jar de encabezado (que contienen firmas de métodos). Cuando no hay complementos de API, se generan los archivos jar de encabezado desde 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. Puede devolver 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, en función de si las implementaciones de reglas eligieron crear jars de interfaz o no.

full_compile_jars

depset JavaInfo.full_compile_jars

Muestra los archivos JAR de tiempo de compilación completo regulares que requiere este destino de forma directa. Puede ser

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

Usa este método solo si los archivos JAR de interfaz no funcionan con tus conjuntos de reglas (p. ej., algunos destinos de Scala). Si trabajas con destinos solo Java, es preferible usar 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 marcas del módulo Java.

resultados

java_output_jars JavaInfo.outputs

Muestra información sobre los resultados de este objetivo similar a Java/Java. Obsoleto: usa java_outputs. Puede devolver None.

Complementos

JavaPluginData JavaInfo.plugins

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

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 archivos JAR de entorno de ejecución creados por este objetivo similar a Java/Java.

source_jars

sequence JavaInfo.source_jars

Muestra una lista de archivos JAR con todos los archivos de origen (incluidos los generados por anotaciones) del objetivo en sí, es decir, sin incluir las fuentes de las dependencias transitivas.

to_json

string JavaInfo.to_json()

Obsoleto.. Esta API dejó de estar disponible y se quitará pronto. No dependas de ello. Está inhabilitada con ---incompatible_struct_has_no_methods. Usa esta marca para verificar que tu código sea compatible con la eliminación inminente.
Crea una string JSON a partir del parámetro struct. Este método solo funciona si todos los elementos de la estructura (de forma recurrente) son strings, ints, booleanos, otras estructuras, una lista de estos tipos o un diccionario con claves de string y valores de estos tipos. Las comillas y las líneas nuevas en las strings tienen formato de 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 struct.

to_proto

string JavaInfo.to_proto()

Obsoleto.. Esta API dejó de estar disponible y se quitará pronto. No dependas de ello. Está inhabilitada con ---incompatible_struct_has_no_methods. Usa esta marca para verificar que tu código sea compatible con la eliminación inminente.
Crea un mensaje de texto a partir del parámetro struct. Este método solo funciona si todos los elementos de la estructura (de forma recurrente) son strings, ints, booleanos, otras estructuras, diccionarios o listas de estos tipos. Las comillas y las líneas nuevas en las strings tienen formato de escape. Las claves de struct se iteran en el orden ordenado. 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 archivos JAR 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 archivos jar que se requieren en la ruta de clase de tiempo de ejecución del destino.

transitive_source_jars

depset JavaInfo.transitive_source_jars

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