Utilidades para la compatibilidad con la compilación de Java en Starlark.
Miembros
BootClassPathInfo
Provider java_common.BootClassPathInfo
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=[])
Parámetros
Parámetro | Descripción |
---|---|
ctx
|
obligatorio Es el contexto de la regla. |
source_jars
|
sequence de Files;
el valor predeterminado es [] Es una lista de los archivos .jar que se compilarán. Se debe especificar al menos uno de los campos source_jars o source_files. |
source_files
|
sequence de Files;
el valor predeterminado es [] Es una lista de los archivos fuente de Java que se compilarán. Se debe especificar al menos uno de los campos source_jars o source_files. |
output
|
obligatorio |
output_source_jar
|
File o None ;
el valor predeterminado es None Es el archivo JAR de origen de salida. Opcional. Si no se establece, el valor predeterminado es `{output_jar}-src.jar`. |
javac_opts
|
sequence de strings;
el valor predeterminado es [] Es una lista de las opciones de javac deseadas. Opcional. |
deps
|
sequence de structs;
el valor predeterminado es [] Una lista de dependencias. Opcional. |
runtime_deps
|
sequence de structs;
el valor predeterminado es [] Es una lista de dependencias del tiempo de ejecución. Opcional. |
exports
|
sequence de structs;
el valor predeterminado es [] Es una lista de exportaciones. Opcional. |
plugins
|
sequence de structs o sequence de structs;
el valor predeterminado es [] Una lista de complementos. Opcional. |
exported_plugins
|
sequence de structs o sequence de structs;
el valor predeterminado es [] Es una lista de complementos exportados. Opcional. |
native_libraries
|
sequence de CcInfos;
el valor predeterminado es [] Son las dependencias de la biblioteca nativa de CC que se necesitan para esta biblioteca. |
annotation_processor_additional_inputs
|
sequence de Files;
el valor predeterminado es [] Es una lista de entradas que la acción de compilación de Java tomará además de las fuentes de Java para el procesamiento de anotaciones. |
annotation_processor_additional_outputs
|
sequence de Files;
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 clase del procesamiento de anotaciones. |
strict_deps
|
El valor predeterminado es 'ERROR' . Es una cadena que especifica cómo controlar las dependencias estrictas. Los valores posibles son "OFF", "ERROR", "WARN" y "DEFAULT". Para obtener más detalles, consulta /docs/user-manual#flag--strict_java_deps. El valor predeterminado es "ERROR". |
java_toolchain
|
obligatorio 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 la ruta de acceso de inicio asociada con el java_toolchain proporcionado. Opcional. |
host_javabase
|
El valor predeterminado es None . Obsoleto. Este parámetro está obsoleto y se quitará pronto. No dependas de él. 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
|
sequence de Files;
el valor predeterminado es [] |
resources
|
sequence de Files;
el valor predeterminado es [] |
resource_jars
|
sequence de Files;
el valor predeterminado es [] |
classpath_resources
|
sequence de Files;
el valor predeterminado es [] |
neverlink
|
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 los complementos o en los exported_plugins de las dependencias. |
enable_compile_jar_action
|
El valor predeterminado es True . Habilita la compilación de encabezados o la creación de ijar. Si se establece en False, se fuerza el uso del JAR de clase completo en las rutas de acceso de clase de compilación de cualquier elemento dependiente. Esto se hace para que lo usen destinos que no son de biblioteca, como los archivos binarios que no tienen dependientes. |
add_exports
|
sequence de strings;
el valor predeterminado es [] Permite que esta biblioteca acceda al |
add_opens
|
secuencia de cadenas;
el valor predeterminado es [] Permite que esta biblioteca acceda de forma reflexiva al |
JavaRuntimeInfo
Provider java_common.JavaRuntimeInfo
JavaToolchainInfo
Provider java_common.JavaToolchainInfo
combinar
struct java_common.merge(providers)
Parámetros
Parámetro | Descripción |
---|---|
providers
|
sequence de structs;
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)
JavaInfo#source_jar
Parámetros
Parámetro | Descripción |
---|---|
actions
|
obligatorio ctx.actions |
output_jar
|
Archivo o None ;
el valor predeterminado es None Obsoleto. Este parámetro está obsoleto y se quitará pronto. No dependas de él. 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 nombrar el 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 Es el archivo JAR de origen de salida. |
sources
|
sequence de Files;
el valor predeterminado es [] Una lista de archivos fuente de Java que se empaquetarán en el archivo JAR de origen. |
source_jars
|
sequence de Files;
el valor predeterminado es [] Es una lista de archivos .jar de origen que se empaquetarán en el archivo .jar de origen. |
java_toolchain
|
obligatorio Es un JavaToolchainInfo que se usa para encontrar la herramienta ijar. |
host_javabase
|
El valor predeterminado es None . Obsoleto. Este parámetro está obsoleto y se quitará pronto. No dependas de él. 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)
JavaInfo#compile_jar
.
Parámetros
Parámetro | Descripción |
---|---|
actions
|
obligatorio ctx.actions |
jar
|
required Es el archivo .jar en el que se ejecutará ijar. |
target_label
|
Label o None ; el valor predeterminado es None Es una etiqueta de destino para marcar el archivo JAR. Se usa para la asistencia de add_dep . Por lo general, pasarías ctx.label para estampar el archivo .jar con la etiqueta de la regla actual.
|
java_toolchain
|
obligatorio Es un JavaToolchainInfo que se usa para encontrar la herramienta ijar. |
stamp_jar
File java_common.stamp_jar(actions, *, jar, target_label, java_toolchain)
add_dep
. Por lo general, el valor de devolución se pasa a JavaInfo#compile_jar
. Se recomienda usar run_ijar
siempre que sea posible.
Parámetros
Parámetro | Descripción |
---|---|
actions
|
obligatorio ctx.actions |
jar
|
obligatorio Es el archivo .jar en el que se ejecutará stamp_jar. |
target_label
|
obligatorio Es una etiqueta de destino para marcar el archivo JAR. Se usa para la asistencia de add_dep . Por lo general, pasarías ctx.label para estampar el archivo .jar con la etiqueta de la regla actual.
|
java_toolchain
|
obligatorio Un JavaToolchainInfo que se usa para encontrar la herramienta stamp_jar. |