java_common

Informar un problema Ver fuente /}Noche }

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

Miembros

BootClassPathInfo

Provider java_common.BootClassPathInfo

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

compile

struct 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, bootclasspath=None, 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/jars de origen Java de la implementación de una regla de Starlark y muestra un proveedor que representa los resultados de la compilación y que se puede agregar al conjunto de proveedores emitidos por esta regla.

Parámetros

Parámetro Descripción
ctx obligatorio
El contexto de la regla.
source_jars secuencia de Files; el valor predeterminado es []
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 secuencia de Files; el valor predeterminado es []
Es una lista de los archivos de origen de 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 o None; el valor predeterminado es None
. El jar de origen del resultado Opcional. Si no se configura, el valor predeterminado es “{output_jar}-src.jar”.
javac_opts secuencia de strings; el valor predeterminado es []
Es una lista de las opciones de javac deseadas. Opcional.
deps secuencia de struct; el valor predeterminado es []
Lista de dependencias. Opcional.
runtime_deps secuencia de struct; el valor predeterminado es []
Lista de dependencias del entorno de ejecución. Opcional.
exports secuencia de struct; el valor predeterminado es []
Una lista de exportaciones. Opcional.
plugins secuencia de struct; o secuencia de struct; el valor predeterminado es []
Una lista de complementos. Opcional.
exported_plugins secuencia de struct; o secuencia de struct; el valor predeterminado es []
Una lista de complementos exportados. Opcional.
native_libraries secuencia de CcInfo; el valor predeterminado es []
Las dependencias de bibliotecas nativas de CC que se necesitan para esta biblioteca
annotation_processor_additional_inputs secuencia de File; el valor predeterminado es []
Es una lista de entradas que realizará la acción de compilación de Java además de las fuentes de Java para el procesamiento de anotaciones.
annotation_processor_additional_outputs secuencia de File; el valor predeterminado es []
Es una lista de salidas que generará la acción de compilación de Java, además del archivo jar de clase, del procesamiento de anotaciones.
strict_deps el valor predeterminado es 'ERROR'
Es una cadena que especifica cómo controlar dependencias estrictas. Valores posibles: "OFF", "ERROR", "WARN" y "DEFAULT". Para obtener más información, consulta /docs/user-manual#flag--strict_java_deps. El valor predeterminado es "ERROR".
java_toolchain requerido
Una JavaToolchainInfo que se usará para esta compilación. Obligatoria.
bootclasspath el valor predeterminado es None
Es una BootClassPathInfo que se usará para esta compilación. Si está presente, anula la bootclasspath asociada con el java_toolchain proporcionado. Opcional.
host_javabase el valor predeterminado es None
Obsoleto. Este parámetro dejó de estar disponible y se quitará pronto. No dependa de él. Está inhabilitada con --+incompatible_java_common_parameters. Usa esta función experimental para verificar que tu código sea compatible con su eliminación inminente.
Obsoleto: Puedes descartar este parámetro (host_javabase se proporciona con java_toolchain).
sourcepath secuencia de Files; el valor predeterminado es []
resources secuencia de Files; el valor predeterminado es []
resource_jars secuencia de Files; el valor predeterminado es []
classpath_resources secuencia de Files; el valor predeterminado es []
el valor predeterminado es False
enable_annotation_processing El valor predeterminado es True.
Inhabilita el procesamiento de anotaciones en esta compilación, lo que hace que se ignoren los procesadores de anotaciones proporcionados en complementos o en export_plugins de dependencias.
enable_compile_jar_action el valor predeterminado es True
Habilita la compilación de encabezados o la creación de ijar. Si se configura como falsa, se fuerza el uso del archivo jar de la clase completa en las rutas de clase de compilación de cualquier dependiente. Esto está diseñado para que lo usen los destinos que no pertenecen a la biblioteca, como los objetos binarios que no tienen dependientes.
add_exports secuencia de cadenas; el valor predeterminado es []
Permite que esta biblioteca acceda a la /determinada. Opcional.
add_opens secuencia de cadenas; el valor predeterminado es []
Permite que esta biblioteca acceda de manera reflectante a la /determinada. Opcional.

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

Es la clave que se usa para recuperar el proveedor que contiene información sobre la cadena de herramientas de Java que se está usando.

merge

struct java_common.merge(providers)

Combina los proveedores especificados en un solo JavaInfo.

Parámetros

Parámetro Descripción
providers secuencia de struct; obligatoria
Lista de proveedores para combinar.

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 los de origen en un solo archivo JAR de origen. Por lo general, el valor que se devuelve se pasa a

JavaInfo#source_jar

.Se requiere al menos uno de los parámetros output_jar o output_source_jar.

Parámetros

Parámetro Descripción
actions obligatorio
ctx.actions
output_jar File o None; el valor predeterminado es None
Obsoleto. Este parámetro dejó de estar disponible y se quitará pronto. No dependa de él. Está inhabilitada con --+incompatible_java_common_parameters. Usa esta función experimental para verificar que tu código sea compatible con su eliminación inminente.
Obsoleto: Es el jar resultante de la regla. Se usa para asignar un nombre al archivo 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 o None; el valor predeterminado es None
. El jar de origen del resultado
sources secuencia de File; el valor predeterminado es []
Una lista de archivos de origen de Java que se empaquetarán en el JAR fuente.
source_jars secuencia de File; el valor predeterminado es []
Una lista de archivos jar fuente que se deben empaquetar en el archivo jar fuente.
java_toolchain requerido
JavaToolchainInfo que se usa para encontrar la herramienta ijar.
host_javabase el valor predeterminado es None
Obsoleto. Este parámetro dejó de estar disponible y se quitará pronto. No dependa de él. Está inhabilitada con --+incompatible_java_common_parameters. Usa esta función experimental para verificar que tu código sea compatible con su eliminación inminente.
Obsoleto: Puedes descartar este parámetro (host_javabase se proporciona con java_toolchain).

run_ijar

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

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

Parámetros

Parámetro Descripción
actions obligatorio
ctx.actions
jar required
El jar en el que se ejecutará ijar.
target_label Etiqueta; o None; el valor predeterminado es None
Es una etiqueta objetivo 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 requerido
JavaToolchainInfo que se usa 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 la compatibilidad con add_dep. Por lo general, el valor que se muestra se pasa a JavaInfo#compile_jar. Prefieres usar run_ijar cuando sea posible.

Parámetros

Parámetro Descripción
actions obligatorio
ctx.actions
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 requerido
Una JavaToolchainInfo que se usa para encontrar la herramienta stamp_jar.