Java_common

Reportar um problema Ver código-fonte Nightly · 7.4 . 7.3 · 7.2 · 7.1 · 7.0 · 6.5

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

Membros

BootClassPathInfo

Provider java_common.BootClassPathInfo

O 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 de origem/JARs Java da implementação de uma regra do 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 arquivos. O padrão é []
. Uma lista dos JARs a serem compilados. Pelo menos um entre source_jars ou source_files precisa ser especificado.
source_files Sequência de arquivos. O padrão é []
. Uma lista dos arquivos de origem Java a serem compilados. Pelo menos um entre source_jars ou source_files precisa ser especificado.
output Arquivo: obrigatório
output_source_jar File ou None. O padrão é None
. O jar de origem de saída. O padrão é "{output_jar}-src.jar" se não for definido.
javac_opts Sequência de strings. O padrão é []
. Uma lista das opções javac desejadas.
deps Sequência de struct; o padrão é []
. Uma lista de dependências.
runtime_deps Sequência de struct; o padrão é []
. Uma lista de dependências de execução.
exports Sequência de struct; o padrão é []
Uma lista de exportações.
plugins Sequência de struct ou sequência de struct. O padrão é []
. Uma lista de plug-ins.
exported_plugins Sequência de struct ou sequência de struct. O padrão é []
. Uma lista de plug-ins exportados.
native_libraries Sequência de CcInfos. O padrão é []
Dependências da biblioteca nativa CC necessárias para essa biblioteca.
annotation_processor_additional_inputs Sequência de arquivos; o padrão é []
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 Sequência de arquivos; o padrão é []
Uma lista de saídas que a ação de compilação Java vai gerar, além do jar da classe do processamento de anotações.
strict_deps string; o padrão é 'ERROR'
Uma string que especifica como processar dependências rígidas. Valores possíveis: 'OFF', 'ERROR', 'WARN' e 'DEFAULT'. Para mais detalhes, consulte --strict_java_deps flag. By default 'ERROR'.
java_toolchain Info; required
Uma JavaToolchainInfo a ser usada para essa 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_toolchain fornecido.
host_javabase O padrão é None
Descontinuado. Este parâmetro foi descontinuado e será removido em breve. Não dependa dele. Ele está desativado com --incompatible_java_common_parameters. Use essa flag para verificar se o código é compatível com a remoção iminente.
Descontinuado: você pode excluir esse parâmetro (host_javabase é fornecido com java_toolchain)
sourcepath sequência de arquivos; o padrão é []
.
resources sequência de arquivos; o padrão é []
.
resource_jars sequência de arquivos; o padrão é []
.
classpath_resources sequência de arquivos; o padrão é []
.
bool; O padrão é False
.
enable_annotation_processing bool; o padrão é True
Desativa o processamento de anotações nesta compilação, fazendo com que todos os processadores de anotações fornecidos em plug-ins ou em exported_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 definido como falso, ele força o uso do jar de classe completo nos classpaths 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 dependências.
add_exports Sequência de strings; o padrão é []
Permite que essa biblioteca acesse o /fornecido.
add_opens Sequência de strings. O padrão é []
. Permita que essa biblioteca acesse reflexivamente o /fornecido.

JavaRuntimeInfo

Provider java_common.JavaRuntimeInfo

A chave usada para recuperar o provedor que contém informações sobre o ambiente de execução Java em uso.

JavaToolchainInfo

Provider java_common.JavaToolchainInfo

A chave usada para recuperar o provedor que contém informações sobre a cadeia de ferramentas Java em uso.

merge

struct java_common.merge(providers)

Mescla os provedores fornecidos em um único JavaInfo.

Parâmetros

Parâmetro Descrição
providers Sequência de struct; obrigatória
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)

Empaqueta origens e jars de origem em um único arquivo jar de origem. O valor de retorno normalmente é transmitido 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 actions; required
ctx.actions
output_jar Arquivo ou None; o padrão é None
Descontinuado. Este parâmetro foi descontinuado e será removido em breve. Não dependa dele. Ele está desativado com --incompatible_java_common_parameters. Use essa flag para verificar se o 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 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 arquivos; o padrão é []
Uma lista de arquivos de origem Java a serem empacotados no jar de origem.
source_jars sequência de arquivos; o padrão é []
Uma lista de JARs de origem a serem empacotados no JAR de origem.
java_toolchain Info; required
Uma JavaToolchainInfo usada para encontrar a ferramenta ijar.
host_javabase O padrão é None
Descontinuado. Este parâmetro foi descontinuado e será removido em breve. Não dependa dele. Ele está desativado com --incompatible_java_common_parameters. Use essa flag para verificar se o código é compatível com a remoção iminente.
Descontinuado: você pode excluir esse parâmetro (host_javabase é fornecido com java_toolchain)

run_ijar

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

Executa ijar em um jar, removendo os corpos de método. Isso ajuda a reduzir a reconstrução de jars dependentes durante as recompilações que consistem apenas de mudanças simples nas implementações de métodos. O valor de retorno geralmente é transmitido para JavaInfo#compile_jar.

Parâmetros

Parâmetro Descrição
actions actions; required
ctx.actions
jar Arquivo: obrigatório
O jar para executar o ijar.
target_label Rótulo ou None; o padrão é None
Um rótulo de destino para carimbar o frasco. Usado para suporte a add_dep. Normalmente, você transmite ctx.label para carimbar o jarro com o rótulo da regra atual.
java_toolchain Info; required
Uma JavaToolchainInfo usada para encontrar a ferramenta ijar.

stamp_jar

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

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

Parâmetros

Parâmetro Descrição
actions actions; required
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 frasco. Usado para suporte a add_dep. Normalmente, você transmite ctx.label para carimbar o jarro com o rótulo da regra atual.
java_toolchain Info; required
Um JavaToolchainInfo usado para encontrar a ferramenta stamp_jar.