Java_common

Utilitários para suporte à compilação em Java no Starlark.

Participantes

BootClassPathInfo

Provider java_common.BootClassPathInfo

O provedor usado para fornecer as informações de bootclasspath

compile

JavaInfo 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, 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 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 obrigatório
O contexto da regra.
source_jars sequence of Files; default = []
Uma lista dos jars a serem compilados. Pelo menos um dos source_jars ou source_files deve ser especificado.
source_files sequence of Files; default = []
Uma lista dos arquivos de origem Java a serem compilados. Pelo menos um dos source_jars ou source_files deve ser especificado.
output obrigatório
output_source_jar File; or None; default = None
O jar de origem de saída. Opcional. Se não for definido, o padrão será `{output_jar}-src.jar`.
javac_opts sequence of strings; default = []
Uma lista das opções javac desejadas. Opcional.
deps sequence of JavaInfos; default = []
Uma lista de dependências. Opcional.
runtime_deps sequence of JavaInfos; default = []
Uma lista de dependências de ambiente de execução. Opcional.
exports sequence of JavaInfos; padrão = []
Uma lista de exportações. Opcional.
plugins sequence of JavaPluginInfos; or sequence of JavaInfos; default = []
Uma lista de plug-ins. Opcional.
exported_plugins sequence of JavaPluginInfos; or sequence of JavaInfos; default = []
Uma lista de plug-ins exportados. Opcional.
native_libraries sequence of CcInfos; default = []
Copie as dependências da biblioteca nativa necessárias para essa biblioteca.
annotation_processor_additional_inputs sequence of Files; default = []
Uma lista de entradas que a ação de compilação Java vai usar, além das origens Java, para processamento de anotações.
annotation_processor_additional_outputs sequence of Files; default = []
Uma lista de saídas geradas pela ação de compilação Java, além da classe jar do processamento de anotações.
strict_deps default = 'ERROR'
Uma string que especifica como processar dependências restritas. Valores possíveis: 'OFF', 'ERROR', 'WARN' e 'DEFAULT'. Para mais detalhes, consulte /docs/user-manual#flag--strict_java_deps. Por padrão, "ERROR".
java_toolchain necessário
Uma JavaToolchainInfo para ser usada nesta compilação. Obrigatório.
host_javabase default = None
Descontinuado. Este parâmetro foi descontinuado e será removido em breve. Não dependa disso. Ela está desativada com o --+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 esse parâmetro (o host_javabase é fornecido com java_dataset).
sourcepath sequence of Files; padrão = []
resources sequence of Files; padrão = []
resource_jars sequence of Files; padrão = []
classpath_resources sequence of Files; padrão = []
default = Falso
enable_annotation_processing default = 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 plugins_plugins das dependências sejam ignorados.
enable_compile_jar_action default = True
Ativa a compilação de cabeçalho ou a criação do ijar. Se definida como falsa, ela forçará o uso do jar de classe completo nos caminhos de classe de compilação de todos os dependentes. Essa ação é destinada ao uso por destinos que não são de biblioteca, como binários que não têm dependentes.
add_exports sequence of strings; default = []
Permite que essa biblioteca acesse /. Opcional.
add_opens sequence of strings; default = []
Permite que essa biblioteca acesse de maneira reflexiva a /fornecida. Opcional.

JavaPluginInfo

Provider java_common.JavaPluginInfo

Chave usada para recuperar o provedor que contém informações sobre os plug-ins Java. O mesmo valor pode ser acessado como JavaPluginInfo.
Prefere usar JavaPluginInfo no novo código.

JavaRuntimeInfo

Provider java_common.JavaRuntimeInfo

Chave usada para recuperar o provedor que contém informações sobre o ambiente de execução Java que está sendo usado.

JavaToolchainInfo

Provider java_common.JavaToolchainInfo

A chave usada para recuperar o provedor que contém informações sobre o conjunto de ferramentas Java que está sendo usado.

make_non_strict

JavaInfo java_common.make_non_strict(java_info)

Retorna um novo provedor Java cuja parte direct-jars é a união dos jars diretos e indiretos do provedor Java especificado.

Parâmetros

Parâmetro Descrição
java_info obrigatório
As informações do Java.

merge

JavaInfo java_common.merge(providers, *, merge_java_outputs=True, merge_source_jars=True)

Mescla os provedores fornecidos em um único JavaInfo.

Parâmetros

Parâmetro Descrição
providers sequence of JavaInfos; obrigatório
A lista de provedores a serem mesclados.
merge_java_outputs default = Verdadeiro
merge_source_jars default = Verdadeiro

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

Pelo menos um dos parâmetros output_jar ou output_source_jar é obrigatório.

Parâmetros

Parâmetro Descrição
actions obrigatório
ctx.actions
output_jar File; or None; default = None
Descontinuado. Este parâmetro foi descontinuado e será removido em breve. Não dependa disso. Ela está desativada com o --+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 File; or None; default = None
O jar de origem de saída.
sources sequence of Files; default = []
Uma lista de arquivos de origem Java a serem compactados no jar de origem.
source_jars sequence of Files; default = []
Uma lista de jars de origem a serem empacotados no jar de origem.
java_toolchain necessário
Uma JavaToolchainInfo a ser usada para encontrar a ferramenta ijar.
host_javabase default = None
Descontinuado. Este parâmetro foi descontinuado e será removido em breve. Não dependa disso. Ela está desativada com o --+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 esse parâmetro (o host_javabase é fornecido com java_dataset).
Poderá haver retorno em None.

provider

Provider java_common.provider

Retorna o provedor declarado do Java.
O mesmo valor pode ser acessado como JavaInfo.
Prefere usar JavaInfo no novo código.

run_ijar

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

Executa o ijar em um pote, tirando-o do corpo do método. Isso ajuda a reduzir a recompilação de jars dependentes durante qualquer recompilação que consiste apenas em mudanças simples nas implementações do método. O valor de retorno normalmente é transmitido para JavaInfo#compile_jar.

Parâmetros

Parâmetro Descrição
actions obrigatório
ctx.actions
jar necessário
O jar em que o ijar será executado.
target_label Label; or None; default = None
Um rótulo de destino para carimbar o jar. Usado para suporte a add_dep. Normalmente, você transmite ctx.label para marcar o jar com o rótulo da regra atual.
java_toolchain necessário
Uma JavaToolchainInfo a ser usada para encontrar a ferramenta ijar.

stamp_jar

File java_common.stamp_jar(actions, *, jar, target_label, java_toolchain)

Carrega um jar com um rótulo de destino para oferecer suporte a add_dep. O valor de retorno normalmente é transmitido para JavaInfo#compile_jar. Prefira usar run_ijar sempre que possível

Parâmetros

Parâmetro Descrição
actions obrigatório
ctx.actions
jar necessário
O jar em que o stamp_jar será executado.
target_label necessário
Um rótulo de destino para carimbar o jar. Usado para suporte a add_dep. Normalmente, você transmite ctx.label para marcar o jar com o rótulo da regra atual.
java_toolchain necessário
Uma JavaToolchainInfo a ser usada para encontrar a ferramenta stamp_jar.

to_java_binary_info

JavaInfo java_common.to_java_binary_info(java_info)

Retorna uma cópia do JavaInfo fornecido com informações mínimas retornadas por um java_binary

Parâmetros

Parâmetro Descrição
java_info obrigatório
O JavaInfo a ser aprimorado.