java_common

Utilidades para la compatibilidad de compilación de Java en Starlark.

Miembros

BootClassPathInfo

Provider java_common.BootClassPathInfo

El proveedor que se usa para proporcionar información de bootclasspath

compile

JavaInfo java_common.compile(ctx, *, source_jars=[], source_files=[], output, output_source_jar=None, javac_opts=[], deps=[], runtime_deps=[], exports=[], plugins=[], exported_plugins=[], native_libraries=[], annotation_processor_additional_inputs=[], annotation_processor_additional_outputs=[], strict_deps='ERROR', java_toolchain, host_javabase=None, sourcepath=[], resources=[], resource_jars=[], classpath_resources=[], neverlink=False, enable_annotation_processing=True, enable_compile_jar_action=True, add_exports=[], add_opens=[])

Compila archivos de origen o jar de Java a partir de la implementación de una regla de Starlark y muestra un proveedor que representa los resultados de la compilación y se puede agregar al conjunto de proveedores que emite esta regla.

Parámetros

Parámetro Descripción
ctx required
El contexto de la regla.
source_jars sequence of Files; default = []
Una lista de los archivos jar que se compilarán. Se debe especificar al menos uno de los archivos source_jars o source_files.
source_files sequence of Files; default = []
Es una lista de los archivos fuente Java que se compilarán. Se debe especificar al menos uno de los archivos source_jars o source_files.
output obligatorio
output_source_jar File; or None; default = None
El jar de origen de salida. Opcional. Si no se configura, el valor predeterminado es `{output_jar}-src.jar`.
javac_opts sequence of strings; default = []
Es una lista de las opciones javac deseadas. Opcional.
deps sequence of JavaInfos; default = []
Una lista de dependencias. Opcional.
runtime_deps sequence of JavaInfos; default = []
Una lista de dependencias del entorno de ejecución. Opcional.
exports sequence of JavaInfos; predeterminado = []
Lista de exportaciones. Opcional.
plugins sequence of JavaPluginInfos; or sequence of JavaInfos; default = []
Una lista de complementos. Opcional.
exported_plugins sequence of JavaPluginInfos; or sequence of JavaInfos; default = []
Una lista de complementos exportados. Opcional.
native_libraries sequence of CcInfos; predeterminado = []
Dependencias de la biblioteca nativa de CC que se necesitan para esta biblioteca.
annotation_processor_additional_inputs sequence of Files; predeterminado = []
Una lista de entradas que tomará la acción de compilación de Java, además de las fuentes de Java, para el procesamiento de anotaciones.
annotation_processor_additional_outputs sequence of Files; default = []
Es una lista de resultados que realizará la acción de compilación de Java además del archivo JAR de la clase del procesamiento de anotaciones.
strict_deps default = 'ERROR'
Es una string que especifica cómo controlar las dependencias estrictas. Valores posibles: “OFF”, “ERROR”, “WARN” y “DEFAULT”. Para ver más detalles, consulte /docs/user-manual#flag--strict_java_deps. De forma predeterminada, “ERROR”.
java_toolchain required
Un JavaToolchainInfo que se usará en esta compilación. Obligatoria.
host_javabase default = None
Obsoleto. Este parámetro dejó de estar disponible y se quitará pronto. No dependas de ello. Está inhabilitada con --+incompatible_java_common_parameters. Usa esta marca para verificar que tu código sea compatible con la eliminación inminente.
Obsoleto: Puedes descartar este parámetro (host_javabase se proporciona con java_toolchain).
sourcepath sequence of Files; predeterminado = []
resources sequence of Files; predeterminado = []
resource_jars sequence of Files; predeterminado = []
classpath_resources sequence of Files; predeterminado = []
predeterminado = Falso
enable_annotation_processing default = True
Inhabilita el procesamiento de anotaciones en esta compilación, lo que provoca que se ignoren los procesadores de anotaciones proporcionados en los complementos o en export_plugins de dependencias.
enable_compile_jar_action default = True
Habilita la compilación de encabezados o la creación de ijar. Si se configura como falsa, fuerza el uso del archivo jar de clase completo en las rutas de clase de la compilación de cualquier dependencia. Esto está diseñado para que lo usen objetivos no pertenecientes a la biblioteca, como objetos binarios que no tienen dependientes.
add_exports sequence of strings; default = []
Permite que esta biblioteca acceda a la /determinada. Opcional.
add_opens sequence of strings; default = []
Permite que esta biblioteca acceda de manera reflexiva al elemento /determinado. Opcional.

JavaPluginInfo

Provider java_common.JavaPluginInfo

La clave que se usa para recuperar el proveedor que contiene información sobre los complementos de Java. Se puede acceder al mismo valor que JavaPluginInfo.
Prefiere usar JavaPluginInfo en el código nuevo.

JavaRuntimeInfo

Provider java_common.JavaRuntimeInfo

La clave que se usa para recuperar el proveedor que contiene información sobre el entorno de ejecución de Java que se usa.

JavaToolchainInfo

Provider java_common.JavaToolchainInfo

La clave usada para recuperar el proveedor que contiene información sobre la cadena de herramientas de Java utilizada.

make_non_strict

JavaInfo java_common.make_non_strict(java_info)

Muestra un proveedor de Java nuevo cuya parte de los archivos jar directos es la unión de los archivos jar directos e indirectos del proveedor de Java determinado.

Parámetros

Parámetro Descripción
java_info obligatorio
La información de Java.

merge

JavaInfo java_common.merge(providers, *, merge_java_outputs=True, merge_source_jars=True)

Combina los proveedores dados en un solo JavaInfo.

Parámetros

Parámetro Descripción
providers sequence of JavaInfos; obligatorio
La lista de proveedores que se combinarán.
merge_java_outputs predeterminado = Verdadero
merge_source_jars predeterminado = Verdadero

pack_sources

File java_common.pack_sources(actions, *, output_jar=None, output_source_jar=None, sources=[], source_jars=[], java_toolchain, host_javabase=None)

Empaqueta los archivos jar de origen y de origen en un solo archivo jar de origen. Por lo general, el valor que se muestra se pasa

JavaInfo#source_jar

.Al menos uno de los parámetros output_jar o output_source_jar es obligatorio.

Parámetros

Parámetro Descripción
actions acciones
ctx.actions obligatorias
output_jar File; or None; predeterminado = Ninguno
Obsoleto. Este parámetro dejó de estar disponible y se quitará pronto. No dependas de ello. Está inhabilitada con --+incompatible_java_common_parameters. Usa esta marca para verificar que tu código sea compatible con la eliminación inminente.
Obsoleto: Es el jar de salida de la regla. Se usa para nombrar el jar de origen resultante. El parámetro establece el parámetro output_source_jar en `{output_jar}-src.jar`.En su lugar, usa el parámetro output_source_jar directamente.
output_source_jar File; or None; default = None
El jar de origen de salida.
sources sequence of Files; default = []
Es una lista de archivos fuente Java que se empaquetarán en el jar de origen.
source_jars sequence of Files; default = []
Una lista de archivos jar de origen que se empaquetarán en el jar de origen.
java_toolchain required
Es un JavaToolchainInfo que se usará para encontrar la herramienta ijar.
host_javabase default = None
Obsoleto. Este parámetro dejó de estar disponible y se quitará pronto. No dependas de ello. Está inhabilitada con --+incompatible_java_common_parameters. Usa esta marca para verificar que tu código sea compatible con la eliminación inminente.
Obsoleto: Puedes descartar este parámetro (host_javabase se proporciona con java_toolchain).
Puede devolver None.

provider

Provider java_common.provider

Muestra el proveedor declarado de Java.
Se puede acceder al mismo valor que JavaInfo.
Prefiere usar JavaInfo en el código nuevo.

run_ijar

File java_common.run_ijar(actions, *, jar, target_label=None, java_toolchain)

Ejecuta ijar en un frasco y lo quita de los cuerpos del método. Esto ayuda a reducir la recompilación de archivos jar dependientes durante cualquier recompilación que consista solo en cambios simples en las implementaciones de métodos. Por lo general, el valor que se muestra se pasa a JavaInfo#compile_jar.

Parámetros

Parámetro Descripción
actions acciones
ctx.actions obligatorias
jar required
El jar en el que se ejecutará ijar.
target_label Label; or None; default = None
Una etiqueta de destino para sellar el frasco. Se usa para la compatibilidad con add_dep. Por lo general, pasarías ctx.label para sellar el jar con la etiqueta de la regla actual.
java_toolchain required
Es un JavaToolchainInfo que se usará para encontrar la herramienta ijar.

stamp_jar

File java_common.stamp_jar(actions, *, jar, target_label, java_toolchain)

Sella un frasco con una etiqueta de destino para admitir add_dep. Por lo general, el valor que se muestra se pasa a JavaInfo#compile_jar. Prefiere usar run_ijar cuando sea posible.

Parámetros

Parámetro Descripción
actions acciones
ctx.actions obligatorias
jar required
El jar en el que se ejecutará stamp_jar.
target_label obligatorio
Una etiqueta de destino para sellar el frasco Se usa para la compatibilidad con add_dep. Por lo general, pasarías ctx.label para sellar el jar con la etiqueta de la regla actual.
java_toolchain required
Es un JavaToolchainInfo que se usará para encontrar la herramienta stamp_jar.

to_java_binary_info

JavaInfo java_common.to_java_binary_info(java_info)

Muestra una copia del JavaInfo determinado con información mínima que muestra un java_binary.

Parámetros

Parámetro Descripción
java_info required
JavaInfo que se desea mejorar.