Utilidades para la compatibilidad con la compilación de Java en Starlark.
Miembros
- BootClassPathInfo
- compila
- JavaRuntimeInfo
- JavaToolchainInfo
- combinar
- pack_sources
- run_ijar
- stamp_jar
BootClassPathInfo
Provider java_common.BootClassPathInfoEl proveedor que se usa para proporcionar información de classpath de inicio
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 fuente 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
|
ctx;
obligatorio Es el contexto de la regla. |
source_jars
|
Secuencia de archivos.
El valor predeterminado es [] . Es una lista de los archivos JAR que se compilarán. Se debe especificar al menos uno de source_jars o source_files. |
source_files
|
Secuencia de archivos.
El valor predeterminado es [] . Es una lista de los archivos fuente de Java que se compilarán. Se debe especificar al menos uno de source_jars o source_files. |
output
|
Archivo;
obligatorio |
output_source_jar
|
Archivo o None ;
El valor predeterminado es None El jar de origen de salida. Si no se establece, el valor predeterminado es "{output_jar}-src.jar". |
javac_opts
|
Secuencia de cadenas.
El valor predeterminado es [] . Es una lista de las opciones de javac deseadas. |
deps
|
Secuencia de struct.
El valor predeterminado es [] . Es una lista de dependencias. |
runtime_deps
|
Secuencia de struct.
El valor predeterminado es [] . Es una lista de dependencias del tiempo de ejecución. |
exports
|
Secuencia de struct.
El valor predeterminado es [] . Es una lista de exportaciones. |
plugins
|
secuencia de struct o secuencia de struct;
el valor predeterminado es [] Es una lista de complementos. |
exported_plugins
|
secuencia de struct o secuencia de struct;
el valor predeterminado es [] Es una lista de complementos exportados. |
native_libraries
|
Secuencia de CcInfo.
El valor predeterminado es [] . Dependencias de bibliotecas nativas de CC que se necesitan para esta biblioteca. |
annotation_processor_additional_inputs
|
secuencia de archivos;
el valor predeterminado es [] Es 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
|
secuencia de archivos.
El valor predeterminado es [] . Es una lista de resultados que la acción de compilación de Java generará además del archivo JAR de la clase del procesamiento de anotaciones. |
strict_deps
|
cadena;
el valor predeterminado es 'ERROR' Es una cadena que especifica cómo controlar las dependencias estrictas. Valores posibles: "OFF", "ERROR", "WARN" y "DEFAULT". Para obtener más información, consulta --strict_java_deps . |
java_toolchain
|
Info;
obligatorio Es un JavaToolchainInfo que se usará para esta compilación. Obligatorio. |
bootclasspath
|
El valor predeterminado es None . Es un BootClassPathInfo que se usará para esta compilación. Si está presente, anula el bootclasspath asociado con la java_toolchain proporcionada. |
host_javabase
|
El valor predeterminado es None Obsoleto. Este parámetro dejó de estar disponible y se quitará pronto. No dependas de ella. Está inhabilitado con --incompatible_java_common_parameters . Usa esta marca para verificar que tu código sea compatible con su eliminación inminente. Obsoleto: Puedes quitar este parámetro (host_javabase se proporciona con java_toolchain). |
sourcepath
|
Secuencia de archivos.
El valor predeterminado es [] . |
resources
|
Secuencia de archivos.
El valor predeterminado es [] . |
resource_jars
|
Secuencia de archivos.
El valor predeterminado es [] . |
classpath_resources
|
Secuencia de archivos.
El valor predeterminado es [] . |
neverlink
|
bool;
El valor predeterminado es False |
enable_annotation_processing
|
bool;
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 los complementos o en los complementos exportados de las dependencias. |
enable_compile_jar_action
|
bool;
El valor predeterminado es True Habilita la compilación de encabezados o la creación de ijar. Si se establece como False, se obliga el uso del archivo JAR de clase completa en las rutas de acceso de compilación de cualquier elemento dependiente. Esto se diseñó para que lo usen destinos que no sean de bibliotecas, como objetos binarios que no tienen dependencias. |
add_exports
|
secuencia de cadenas;
el valor predeterminado es [] Permite que esta biblioteca acceda a la |
add_opens
|
Secuencia de cadenas.
El valor predeterminado es [] . Permite que esta biblioteca acceda de forma refleja a la |
JavaRuntimeInfo
Provider java_common.JavaRuntimeInfoEs 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.JavaToolchainInfoEs la clave que se usa para recuperar el proveedor que contiene información sobre la cadena de herramientas de Java que se usa.
combinar
struct java_common.merge(providers)Combina los proveedores dados en un solo JavaInfo.
Parámetros
Parámetro | Descripción |
---|---|
providers
|
secuencia de struct;
obligatorio Es la lista de proveedores que se combinarán. |
pack_sources
File java_common.pack_sources(actions, *, output_jar=None, output_source_jar=None, sources=[], source_jars=[], java_toolchain, host_javabase=None)Empaqueta fuentes y archivos JAR de origen en un solo archivo JAR de origen. Por lo general, el valor que se muestra se pasa a
JavaInfo#source_jar
Parámetros
Parámetro | Descripción |
---|---|
actions
|
acciones;
obligatorio ctx.acciones |
output_jar
|
File o None ;
el valor predeterminado es None Obsoleto. Este parámetro dejó de estar disponible y se quitará pronto. No dependas de ella. Está inhabilitado con --incompatible_java_common_parameters . Usa esta marca para verificar que tu código sea compatible con su eliminación inminente. Obsoleto: Es el archivo JAR de salida 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
|
Archivo o None ;
El valor predeterminado es None El jar de origen de salida. |
sources
|
Secuencia de archivos.
El valor predeterminado es [] . Es una lista de archivos fuente de Java que se empaquetarán en el archivo JAR fuente. |
source_jars
|
Secuencia de archivos.
El valor predeterminado es [] . Es una lista de archivos JAR de origen que se empaquetarán en el archivo JAR de origen. |
java_toolchain
|
Info;
obligatorio Un 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 dependas de ella. Está inhabilitado con --incompatible_java_common_parameters . Usa esta marca para verificar que tu código sea compatible con su eliminación inminente. Obsoleto: Puedes quitar 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 despoja de sus cuerpos de método. Esto ayuda a reducir la reconstrucción de los archivos JAR dependientes durante cualquier compilació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;
obligatorio ctx.acciones |
jar
|
Archivo:
Obligatorio Es el archivo JAR en el que se ejecutará ijar. |
target_label
|
Etiqueta o None ;
el valor predeterminado es None Es una etiqueta de destino para sellar el jar. 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
|
Info;
obligatorio Un JavaToolchainInfo que se usa para encontrar la herramienta ijar. |
stamp_jar
File java_common.stamp_jar(actions, *, jar, target_label, java_toolchain)Sella un jar 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
. Prefiere usar run_ijar
siempre que sea posible.
Parámetros
Parámetro | Descripción |
---|---|
actions
|
acciones;
obligatorio ctx.acciones |
jar
|
Archivo;
obligatorio Es el archivo JAR en el que se ejecutará stamp_jar. |
target_label
|
Etiqueta: obligatoria Es una etiqueta de destino para sellar el jar. 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
|
Info;
obligatorio Un JavaToolchainInfo que se usa para encontrar la herramienta stamp_jar. |