Utilitários para suporte à compilação Java no Starlark.
Membros
- BootClassPathInfo
- compilar
- JavaRuntimeInfo
- JavaToolchainInfo
- mesclar
- pack_sources
- run_ijar
- stamp_jar
BootClassPathInfo
Provider java_common.BootClassPathInfoO provedor usado para fornecer informações do 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 arquivos/jars de origem Java a partir da implementação de uma regra Starlark e retorna um provedor que representa os resultados da compilação e pode ser adicionado ao conjunto de provedores emitidos por essa regra.
Parâmetros
Parâmetro | Descrição |
---|---|
ctx
|
ctx;
obrigatório O contexto da regra. |
source_jars
|
Sequência de Files;
o padrão é [] Uma lista dos jars que serão compilados. Pelo menos um source_jars ou source_files precisa ser especificado. |
source_files
|
Sequência de Files;
o padrão é [] Uma lista dos arquivos de origem Java a serem compilados. Pelo menos um source_jars ou source_files precisa ser especificado. |
output
|
Arquivo
obrigatório |
output_source_jar
|
Arquivo ou None
o padrão é None O jar de origem de saída. Se não definido, o padrão será "{output_jar}-src.jar". |
javac_opts
|
sequência de strings
o padrão é [] Uma lista das opções javac desejadas. |
deps
|
sequência de structs
o padrão é [] Uma lista de dependências. |
runtime_deps
|
sequência de structs
o padrão é [] Uma lista de dependências de ambiente de execução. |
exports
|
sequência de structs
o padrão é [] Uma lista de exportações. |
plugins
|
sequência de structs ou sequência de structs;
o padrão é [] Uma lista de plug-ins. |
exported_plugins
|
sequência de structs ou sequência de structs;
o padrão é [] Uma lista de plug-ins exportados. |
native_libraries
|
sequência de CcInfos;
o padrão é [] CC para as dependências da biblioteca nativa necessárias para essa biblioteca. |
annotation_processor_additional_inputs
|
Sequência de Files;
o padrão é [] Uma lista de entradas que a ação de compilação Java receberá, além das fontes Java para processamento de anotações. |
annotation_processor_additional_outputs
|
Sequência de Files;
o padrão é [] Uma lista de saídas que a ação de compilação Java produzirá, além do jar de classe do processamento de anotações. |
strict_deps
|
string;
o padrão é 'ERROR' Uma string que especifica como lidar com dependências estritas. Valores possíveis: 'OFF', 'ERROR', 'WARN' e "DEFAULT". Para mais detalhes, consulte --strict_java_deps
|
java_toolchain
|
Informações
obrigatório Um JavaToolchainInfo a ser usado para esta compilação. Obrigatório. |
bootclasspath
|
o padrão é None Um BootClassPathInfo a ser usado para essa compilação. Se presente, substitui o bootclasspath associado ao java_datasets fornecido. |
host_javabase
|
o padrão é None Descontinuado. Esse parâmetro está obsoleto e será removido em breve. Não dependa disso. Ele está desativado com --incompatible_java_common_parameters . Use essa sinalização para verificar se seu código é compatível com a remoção iminente. Descontinuado: você pode descartar este parâmetro (host_javabase é fornecido com java_Dataset) |
sourcepath
|
Sequência de Files;
o padrão é [] |
resources
|
Sequência de Files;
o padrão é [] |
resource_jars
|
Sequência de Files;
o padrão é [] |
classpath_resources
|
Sequência de Files;
o padrão é [] |
neverlink
|
bool;
o padrão é False |
enable_annotation_processing
|
bool;
o padrão é True Desativa o processamento de anotações nessa compilação, fazendo com que todos os processadores de anotações fornecidos em plug-ins ou em export_plugins de dependências sejam ignorados. |
enable_compile_jar_action
|
bool;
o padrão é True Ativa a compilação de cabeçalho ou a criação de ijar. Se definida como falsa, ela força o uso do jar de classe completo nos caminhos de classe de compilação de todos os dependentes. Isso é destinado ao uso por destinos que não são bibliotecas, como binários que não têm dependentes. |
add_exports
|
sequência de strings
o padrão é [] Permite que a biblioteca acesse o |
add_opens
|
sequência de strings
o padrão é [] Permite que a biblioteca acesse de forma refletida o |
JavaRuntimeInfo
Provider java_common.JavaRuntimeInfoA chave usada para recuperar o provedor que contém informações sobre o ambiente de execução do Java que está sendo usado.
JavaToolchainInfo
Provider java_common.JavaToolchainInfoA chave usada para recuperar o provedor que contém informações sobre o conjunto de ferramentas Java que está sendo usado.
merge
struct java_common.merge(providers)Mescla os provedores fornecidos em um único JavaInfo.
Parâmetros
Parâmetro | Descrição |
---|---|
providers
|
sequência de structs
obrigatório A lista de provedores a serem mesclados. |
pack_sources
File java_common.pack_sources(actions, *, output_jar=None, output_source_jar=None, sources=[], source_jars=[], java_toolchain, host_javabase=None)Empacota fontes e jars de origem em um único arquivo jar de origem. O valor de retorno normalmente é passado para
JavaInfo#source_jar
Parâmetros
Parâmetro | Descrição |
---|---|
actions
|
ações
obrigatório ctx.actions |
output_jar
|
Arquivo ou None
o padrão é None Descontinuado. Esse parâmetro está obsoleto e será removido em breve. Não dependa disso. Ele está desativado com --incompatible_java_common_parameters . Use essa sinalização para verificar se seu código é compatível com a remoção iminente. Descontinuado: o jar de saída da regra. Usado para nomear o jar de origem resultante. O parâmetro define o parâmetro output_source_jar como "{output_jar}-src.jar". Use o parâmetro output_source_jar diretamente. |
output_source_jar
|
Arquivo ou None
o padrão é None O jar de origem de saída. |
sources
|
Sequência de Files;
o padrão é [] Uma lista de arquivos de origem Java a serem compactados no jar de origem. |
source_jars
|
Sequência de Files;
o padrão é [] Uma lista de jars de origem a serem empacotados no jar de origem. |
java_toolchain
|
Informações
obrigatório Uma JavaToolchainInfo a ser usada para encontrar a ferramenta ijar. |
host_javabase
|
o padrão é None Descontinuado. Esse parâmetro está obsoleto e será removido em breve. Não dependa disso. Ele está desativado com --incompatible_java_common_parameters . Use essa sinalização para verificar se seu código é compatível com a remoção iminente. Descontinuado: você pode descartar este parâmetro (host_javabase é fornecido com java_Dataset) |
run_ijar
File java_common.run_ijar(actions, *, jar, target_label=None, java_toolchain)Executa o ijar em um jar, removendo-o dos corpos do método. Isso ajuda a reduzir a recriação de jars dependentes durante as recompilações que consistem apenas em alterações simples nas implementações do método. O valor de retorno normalmente é transmitido para
JavaInfo#compile_jar
.
Parâmetros
Parâmetro | Descrição |
---|---|
actions
|
ações
obrigatório ctx.actions |
jar
|
Arquivo
obrigatório O jar em que o ijar será executado. |
target_label
|
Rótulo ou None
o padrão é None Um rótulo de destino para carimbar o pote. Usado para suporte a add_dep . Normalmente, você transmitiria ctx.label para incluir o rótulo da regra atual no jar.
|
java_toolchain
|
Informações
obrigatório Uma JavaToolchainInfo a ser usada para encontrar a ferramenta ijar. |
stamp_jar
File java_common.stamp_jar(actions, *, jar, target_label, java_toolchain)Carimba um jar com um rótulo de destino para compatibilidade com
add_dep
. O valor de retorno normalmente é transmitido para JavaInfo#compile_jar
. Use run_ijar
quando possível.
Parâmetros
Parâmetro | Descrição |
---|---|
actions
|
ações
obrigatório ctx.actions |
jar
|
Arquivo
obrigatório O jar em que o stamp_jar será executado. |
target_label
|
Rótulo
obrigatório Um rótulo de destino para carimbar o pote. Usado para suporte a add_dep . Normalmente, você transmitiria ctx.label para incluir o rótulo da regra atual no jar.
|
java_toolchain
|
Informações
obrigatório Um JavaToolchainInfo usado para encontrar a ferramenta stamp_jar. |