Arquivos MODULE.bazel

Informar um problema

Métodos disponíveis nos arquivos MODULE.bazel.

Participantes

archive_override

None archive_override(module_name, urls, integrity='', strip_prefix='', patches=[], patch_cmds=[], patch_strip=0)

Especifica que a dependência precisa vir de um arquivo (zip, gzip etc.) em um determinado local, e não de um registro. Essa diretiva só tem efeito no módulo raiz. Em outras palavras, se um módulo é usado como dependência por outras pessoas, as próprias substituições são ignoradas.

Parâmetros

Parâmetro Descrição
module_name obrigatório
O nome da dependência do módulo do Bazel em que essa substituição vai ser aplicada.
urls string; ou Iterável de strings; obrigatório
Os URLs do arquivo, que podem ser http(s):// ou file://.
integrity o padrão é ''
A soma de verificação esperada do arquivo, no formato Sub-resource Integrity.
strip_prefix O padrão é ''
Um prefixo de diretório para remover dos arquivos extraídos.
patches Iterável de strings. O padrão é []
Uma lista de rótulos que apontam para arquivos de patch para aplicar a este módulo. Os arquivos de patch precisam estar na árvore de origem do projeto de nível superior. Elas são aplicadas na ordem da lista.
patch_cmds Iterável de strings. O padrão é []
Sequência de comandos Bash a serem aplicados no Linux/Macos após a aplicação dos patches.
patch_strip o padrão é 0
Igual ao argumento --strip do patch Unix.

bazel_dep

None bazel_dep(name, version='', max_compatibility_level=-1, repo_name='', dev_dependency=False)

Declara uma dependência direta em outro módulo do Bazel.

Parâmetros

Parâmetro Descrição
name obrigatório
O nome do módulo a ser adicionado como uma dependência direta.
version o padrão é ''
A versão do módulo a ser adicionada como dependência direta.
max_compatibility_level o padrão é -1
O máximo de compatibility_level com suporte para que o módulo seja adicionado como uma dependência direta. A versão do módulo implica o supported_level mínimo compatível, bem como o máximo, se esse atributo não for especificado.
repo_name o padrão é ''
O nome do repositório externo que representa essa dependência. Por padrão, esse é o nome do módulo.
dev_dependency O padrão é False
Se verdadeiro, essa dependência será ignorada se o módulo atual não for o módulo raiz ou se "--ignore_dev_dependency" estiver ativado.

git_override

None git_override(module_name, remote, commit='', patches=[], patch_cmds=[], patch_strip=0)

Especifica que uma dependência precisa vir de uma determinada confirmação de um repositório Git. Essa diretiva só tem efeito no módulo raiz. Em outras palavras, se um módulo é usado como dependência por outras pessoas, as próprias substituições são ignoradas.

Parâmetros

Parâmetro Descrição
module_name obrigatório
O nome da dependência do módulo do Bazel em que essa substituição vai ser aplicada.
remote obrigatório
O URL do repositório Git remoto.
commit o padrão é ''
A confirmação que precisa ser verificada.
patches Iterável de strings. O padrão é []
Uma lista de rótulos que apontam para arquivos de patch para aplicar a este módulo. Os arquivos de patch precisam estar na árvore de origem do projeto de nível superior. Elas são aplicadas na ordem da lista.
patch_cmds Iterável de strings. O padrão é []
Sequência de comandos Bash a serem aplicados no Linux/Macos após a aplicação dos patches.
patch_strip o padrão é 0
Igual ao argumento --strip do patch Unix.

local_path_override

None local_path_override(module_name, path)

Especifica que uma dependência deve vir de um determinado diretório no disco local. Essa diretiva só tem efeito no módulo raiz. Em outras palavras, se um módulo é usado como dependência por outras pessoas, as próprias substituições são ignoradas.

Parâmetros

Parâmetro Descrição
module_name obrigatório
O nome da dependência do módulo do Bazel em que essa substituição vai ser aplicada.
path obrigatório
O caminho para o diretório em que o módulo está.

módulo

None module(name='', version='', compatibility_level=0, repo_name='', bazel_compatibility=[])

Declara determinadas propriedades do módulo do Bazel representadas pelo repositório atual do Bazel. Essas propriedades são metadados essenciais do módulo, como nome e versão, ou afetam o comportamento do módulo atual e dos dependentes dele.

Ele deve ser chamado no máximo uma vez. Ele só pode ser omitido se esse módulo for o módulo raiz (por exemplo, se ele não for dependente de outro módulo).

Parâmetros

Parâmetro Descrição
name o padrão é ''
Nome do módulo. Pode ser omitido somente se esse módulo for o módulo raiz (por exemplo, se ele não for dependente de outro módulo). Um nome de módulo válido precisa: 1) ter apenas letras minúsculas (a-z), dígitos (0-9), pontos (.), hifens (-) e sublinhados (_); 2) começar com uma letra minúscula; 3) terminar com uma letra minúscula ou um dígito.
version o padrão é ''
A versão do módulo. Pode ser omitido somente se esse módulo for o módulo raiz (por exemplo, se ele não for dependente de outro módulo). A versão precisa estar em um formato SemVer relaxado. Consulte a documentação para mais detalhes.
compatibility_level O padrão é 0
O nível de compatibilidade do módulo, que precisa ser mudado sempre que uma mudança incompatível importante é introduzida. Ela é essencialmente a "versão principal" do módulo em termos do SemVer, exceto pelo fato de não estar incorporada na própria string da versão, mas existir como um campo separado. Módulos com diferentes níveis de compatibilidade participam da resolução de versão como se fossem módulos com nomes diferentes, mas o gráfico de dependência final não pode conter vários módulos com o mesmo nome, mas com diferentes níveis de compatibilidade (a menos que multiple_version_override esteja em vigor). Consulte a documentação para mais detalhes.
repo_name o padrão é ''
O nome do repositório que representa este módulo, conforme visto pelo próprio módulo. Por padrão, o nome do repositório é o nome do módulo. Isso pode ser especificado para facilitar a migração de projetos que estão usando um nome de repositório diferente do nome do módulo.
bazel_compatibility Iterável de strings. O padrão é []
. Uma lista de versões do Bazel que permite aos usuários declarar quais versões do Bazel são compatíveis com esse módulo. Isso NÃO afeta a resolução de dependências, mas o bzlmod usará essas informações para verificar se sua versão atual do Bazel é compatível. O formato desse valor é uma string de alguns valores de restrição separados por vírgula. Três restrições são compatíveis: <=X.X.X: a versão do Bazel precisa ser igual ou anterior a X.X.X. É usada quando há uma mudança incompatível conhecida em uma versão mais recente. >=X.X.X: a versão do Bazel precisa ser igual ou mais recente que X.X.X.Usada quando você depende de alguns recursos que estão disponíveis apenas desde X.X.X. -X.X.X: a versão do Bazel X.X.X não é compatível. Usado quando há um bug no X.X.X que interrompe você, mas corrigido nas versões posteriores.

multiple_version_override

None multiple_version_override(module_name, versions, registry='')

Especifica que uma dependência ainda precisa vir de um registro, mas várias versões dela precisam coexistir. Consulte a documentação para mais detalhes. Essa diretiva só tem efeito no módulo raiz. Em outras palavras, se um módulo é usado como dependência por outras pessoas, as próprias substituições são ignoradas.

Parâmetros

Parâmetro Descrição
module_name obrigatório
O nome da dependência do módulo do Bazel em que essa substituição vai ser aplicada.
versions Iterável de strings. Obrigatório
Especifica explicitamente as versões permitidas para coexistir. Essas versões já precisam estar presentes na pré-seleção do gráfico de dependências. As dependências deste módulo vão receber upgrade para a maior versão permitida mais próxima no mesmo nível de compatibilidade, enquanto as dependências com uma versão mais recente do que qualquer versão permitida no mesmo nível de compatibilidade vão causar um erro.
registry default é ''
Substitui o registro deste módulo. Em vez de encontrar o módulo na lista padrão de registros, use o registro fornecido.

register_execution_platforms

None register_execution_platforms(dev_dependency=False, *platform_labels)

Especifica as plataformas de execução já definidas para serem registradas quando este módulo for selecionado. Precisam ser padrões de destino absolutos (ou seja, começando com @ ou //). Consulte a resolução do conjunto de ferramentas para mais informações.

Parâmetros

Parâmetro Descrição
dev_dependency O padrão é False
Se verdadeiro, as plataformas de execução não serão registradas se o módulo atual não for o módulo raiz ou se "--ignore_dev_dependency" estiver ativado.
platform_labels sequência de strings. Obrigatório
Os rótulos das plataformas a serem registradas.

register_toolchains

None register_toolchains(dev_dependency=False, *toolchain_labels)

Especifica conjuntos de ferramentas já definidos a serem registrados quando este módulo for selecionado. Precisam ser padrões de destino absolutos (ou seja, começando com @ ou //). Consulte a resolução do conjunto de ferramentas para mais informações.

Parâmetros

Parâmetro Descrição
dev_dependency O padrão é False
Se verdadeiro, os conjuntos de ferramentas não serão registrados se o módulo atual não for o módulo raiz ou se "--ignore_dev_dependency" estiver ativado.
toolchain_labels sequência de strings. Obrigatório
Os rótulos dos conjuntos de ferramentas a serem registrados. Os identificadores podem incluir :all. Nesse caso, todos os destinos que fornecem o conjunto de ferramentas no pacote serão registrados em ordem lexicográfica pelo nome.

single_version_override

None single_version_override(module_name, version='', registry='', patches=[], patch_cmds=[], patch_strip=0)

Especifica que uma dependência ainda precisa vir de um registro, mas a versão precisa ser fixada, o registro substituído ou uma lista de patches aplicados. Essa diretiva só tem efeito no módulo raiz. Em outras palavras, se um módulo é usado como dependência por outras pessoas, as próprias substituições são ignoradas.

Parâmetros

Parâmetro Descrição
module_name obrigatório
O nome da dependência do módulo do Bazel em que essa substituição vai ser aplicada.
version o padrão é ''
Substitui a versão declarada desse módulo no gráfico de dependências. Em outras palavras, o módulo será "fixado" a essa versão de substituição. Este atributo pode ser omitido se você quiser substituir apenas o registro ou os patches.
registry default é ''
Substitui o registro deste módulo. Em vez de encontrar o módulo na lista padrão de registros, use o registro fornecido.
patches Iterável de strings. O padrão é []
Uma lista de rótulos que apontam para arquivos de patch para aplicar a este módulo. Os arquivos de patch precisam estar na árvore de origem do projeto de nível superior. Elas são aplicadas na ordem da lista.
patch_cmds Iterável de strings. O padrão é []
Sequência de comandos Bash a serem aplicados no Linux/Macos após a aplicação dos patches.
patch_strip o padrão é 0
Igual ao argumento --strip do patch Unix.

use_extension

module_extension_proxy use_extension(extension_bzl_file, extension_name, *, dev_dependency=False, isolate=False)

Retorna um objeto de proxy que representa uma extensão de módulo. Seus métodos podem ser invocados para criar tags de extensão de módulo.

Parâmetros

Parâmetro Descrição
extension_bzl_file obrigatório
Um rótulo para o arquivo Starlark que define a extensão do módulo.
extension_name obrigatório
O nome da extensão do módulo a ser usada. Um símbolo com esse nome deve ser exportado pelo arquivo Starlark.
dev_dependency O padrão é False
Se for verdadeiro, esse uso da extensão do módulo será ignorado se o módulo atual não for o módulo raiz ou se "--ignore_dev_dependency" estiver ativado.
isolate o padrão é False
Experimental. Esse parâmetro é experimental e pode ser alterado a qualquer momento. Não dependa disso. Ela pode ser ativada de forma experimental definindo ---experimental_isolated_extension_usages
Se for verdadeira, esse uso da extensão do módulo será isolado de todos os outros usos, tanto neste módulo quanto em outros. As tags criadas para esse uso não afetam outros usos, e os repositórios gerados pela extensão para esse uso serão diferentes de todos os outros repositórios gerados por ela.

No momento, este parâmetro é experimental e está disponível somente com a sinalização --experimental_isolated_extension_usages.

use_repo

None use_repo(extension_proxy, *args, **kwargs)

Importa um ou mais repositórios gerados pela extensão de módulo especificada para o escopo do módulo atual.

Parâmetros

Parâmetro Descrição
extension_proxy obrigatório
Um objeto de proxy de extensão de módulo retornado por uma chamada use_extension.
args obrigatório
Os nomes dos repositórios a serem importados.
kwargs obrigatório
Especifica determinados repositórios a serem importados para o escopo do módulo atual com nomes diferentes. As chaves precisam ser o nome que será usado no escopo atual, enquanto os valores precisam ser os nomes originais exportados pela extensão do módulo.

use_repo_rule

repo_rule_proxy use_repo_rule(repo_rule_bzl_file, repo_rule_name)

Retorna um valor de proxy que pode ser invocado diretamente no arquivo MODULE.bazel como uma regra de repositório, uma ou mais vezes. Os repositórios criados dessa maneira só são visíveis para o módulo atual, com o nome declarado usando o atributo name no proxy. O atributo booleano implícito dev_dependency também pode ser usado no proxy para indicar que um determinado repositório só vai ser criado quando o módulo atual for o módulo raiz.

Parâmetros

Parâmetro Descrição
repo_rule_bzl_file obrigatório
Um rótulo para o arquivo Starlark que define a regra de repositório.
repo_rule_name obrigatório
O nome da regra de repositório a ser usada. Um símbolo com esse nome deve ser exportado pelo arquivo Starlark.