Utilidades para admitir la compilación de Java en Starlark
Miembros
- BootClassPathInfo
- compilar
- JavaRuntimeInfo
- JavaToolchainInfo
- combinar
- pack_sources
- run_ijar
- stamp_jar
BootClassPathInfo
Provider java_common.BootClassPathInfoEl 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
|
Archivo; o None ;
el valor predeterminado es None El archivo jar fuente de salida. Opcional. Si no se configura, el valor predeterminado es “{output_jar}-src.jar”. |
javac_opts
|
secuencia de strings;
el valor predeterminado es [] Una lista de las opciones de javac deseadas. Opcional. |
deps
|
secuencia de struct;
el valor predeterminado es [] Una lista de dependencias. Opcional. |
runtime_deps
|
secuencia de struct;
el valor predeterminado es [] Una 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 [] Agrega en Cc las dependencias de bibliotecas nativas que se necesiten para esta biblioteca. |
annotation_processor_additional_inputs
|
secuencia de Files;
el valor predeterminado 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 Files;
el valor predeterminado es [] Una lista de resultados 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 las 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
|
obligatorio Una JavaToolchainInfo que se usará para esta compilación. Obligatoria. |
bootclasspath
|
el valor predeterminado es None 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 [] |
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 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 strings;
el valor predeterminado es [] Permite que esta biblioteca acceda a los |
add_opens
|
secuencia de strings;
el valor predeterminado es [] Permite que esta biblioteca acceda de manera reflexiva a los |
JavaRuntimeInfo
Provider java_common.JavaRuntimeInfoLa 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 está usando.
combinar
struct java_common.merge(providers)Combina los proveedores especificados 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 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
Parámetros
Parámetro | Descripción |
---|---|
actions
|
obligatorio ctx.actions |
output_jar
|
Archivo; 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
|
Archivo; o None ;
el valor predeterminado es None El archivo jar fuente de salida. |
sources
|
secuencia de Files;
el valor predeterminado es [] Lista de archivos de origen de Java que se empaquetarán en el archivo jar de origen. |
source_jars
|
secuencia de Files;
el valor predeterminado es [] Una lista de archivos jar de origen para empaquetar en el jar de origen. |
java_toolchain
|
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 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
|
obligatorio El jar en el que se ejecutará ijar. |
target_label
|
Etiqueta; o None ;
el valor predeterminado es None 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
|
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 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
|
obligatorio El jar en el que se ejecutará stamp_jar. |
target_label
|
obligatorio 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
|
obligatorio Una JavaToolchainInfo que se usa para encontrar la herramienta stamp_jar. |