Arquivos MODULE.bazel

Informar um problema Nightly · 8.3 · 8.2 · 8.1 · 8.0 · 7.6

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

Membros

archive_override

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

Especifica que essa dependência deve vir de um arquivo de arquivo (zip, gzip etc.) em um determinado local, em vez de um registro. Essa diretiva só entra em vigor no módulo raiz. Em outras palavras, se um módulo for usado como dependência por outros, as substituições dele serão ignoradas.

Parâmetros

Parâmetro Descrição
module_name obrigatório
O nome da dependência do módulo do Bazel a que essa substituição será aplicada.
urls string ou iterável de strings; required
Os URLs do arquivo, que podem ser http(s):// ou file://.
integrity O padrão é ''
O checksum esperado do arquivo de arquivamento, no formato de integridade de subrecursos.
strip_prefix O padrão é ''
Um prefixo de diretório a ser removido dos arquivos extraídos.
patches Iterável de strings; o padrão é []
Uma lista de rótulos que apontam para arquivos de patch a serem aplicados 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 depois que os patches forem aplicados.
patch_strip O padrão é 0
Igual ao argumento --strip do patch do Unix.

bazel_dep

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

Declara uma dependência direta de 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 uma dependência direta.
max_compatibility_level O padrão é -1
O compatibility_level máximo compatível para que o módulo seja adicionado como uma dependência direta. A versão do módulo implica o nível mínimo de compatibilidade aceito, 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. Esse é o nome padrão do módulo.
dev_dependency O padrão é False
. Se for "true", 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, init_submodules=False, strip_prefix='')

Especifica que uma dependência deve vir de um determinado commit de um repositório Git. Essa diretiva só entra em vigor no módulo raiz. Em outras palavras, se um módulo for usado como dependência por outros, as substituições dele serão ignoradas.

Parâmetros

Parâmetro Descrição
module_name obrigatório
O nome da dependência do módulo do Bazel a que essa substituição será aplicada.
remote obrigatório
O URL do repositório Git remoto.
commit O padrão é ''
O commit que precisa ser verificado.
patches Iterável de strings; o padrão é []
Uma lista de rótulos que apontam para arquivos de patch a serem aplicados 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 depois que os patches forem aplicados.
patch_strip O padrão é 0
Igual ao argumento --strip do patch do Unix.
init_submodules O padrão é False
. Indica se os submódulos do Git no repositório buscado precisam ser inicializados de forma recursiva.
strip_prefix O padrão é ''
Um prefixo de diretório a ser removido dos arquivos extraídos. Isso pode ser usado para segmentar um subdiretório do repositório git. O subdiretório precisa ter o próprio arquivo `MODULE.bazel` com um nome de módulo igual ao argumento `module_name` transmitido a esse `git_override`.

incluem

None include(label)

Inclui o conteúdo de outro arquivo semelhante a MODULE.bazel. Na prática, o include() se comporta como se o arquivo incluído fosse colocado textualmente no local da chamada include(), exceto que as vinculações de variáveis (como as usadas para use_extension) só ficam visíveis no arquivo em que ocorrem, não em arquivos incluídos ou que incluem.

Somente o módulo raiz pode usar include(). É um erro se o arquivo MODULE de um bazel_dep usa include().

Somente arquivos no repositório principal podem ser incluídos.

O include() permite segmentar o arquivo do módulo raiz em várias partes para evitar um arquivo MODULE.bazel enorme ou gerenciar melhor o controle de acesso para segmentos semânticos individuais.

Parâmetros

Parâmetro Descrição
label required
O rótulo que aponta para o arquivo a ser incluído. O rótulo precisa apontar para um arquivo no repositório principal. Em outras palavras, ele precisa começar com barras duplas (//).

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ó entra em vigor no módulo raiz. Em outras palavras, se um módulo for usado como dependência por outros, as substituições dele serão ignoradas.

Parâmetros

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

módulo

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

Declara determinadas propriedades do módulo do Bazel representado 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 precisa ser chamado no máximo uma vez e, se for chamado, precisa ser a primeira diretiva no arquivo MODULE.bazel. Ele só pode ser omitido se este módulo for o módulo raiz (ou seja, se não depender de outro módulo).

Parâmetros

Parâmetro Descrição
name O padrão é ''
O nome do módulo. Pode ser omitido apenas se este módulo for o módulo raiz (ou seja, se ele não depender de outro módulo). Um nome de módulo válido precisa: 1) conter 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 apenas se este módulo for o módulo raiz (ou seja, se ele não depender de outro módulo). A versão precisa estar em um formato SemVer flexível. Consulte a documentação para mais detalhes.
compatibility_level O padrão é 0
O nível de compatibilidade do módulo. Ele precisa ser alterado sempre que uma mudança incompatível importante for introduzida. Essa é essencialmente a "versão principal" do módulo em termos de SemVer, exceto que ela não está incorporada na própria string de versão, mas existe como um campo separado. Módulos com níveis de compatibilidade diferentes 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 níveis de compatibilidade diferentes, 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 usam 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 são compatíveis com este módulo. Ela NÃO afeta a resolução de dependências, mas o bzlmod usa essas informações para verificar se a 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 aceitas: <=X.X.X: a versão do Bazel precisa ser igual ou mais antiga que 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.Usado quando você depende de alguns recursos disponíveis apenas desde X.X.X. -X.X.X: a versão X.X.X do Bazel não é compatível. Usado quando há um bug na versão X.X.X que prejudica você, mas foi corrigido em versões posteriores.

multiple_version_override

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

Especifica que uma dependência ainda deve vir de um registro, mas várias versões dela podem coexistir. Consulte a documentação para mais detalhes. Essa diretiva só entra em vigor no módulo raiz. Em outras palavras, se um módulo for usado como dependência por outros, as substituições dele serão ignoradas.

Parâmetros

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

register_execution_platforms

None register_execution_platforms(dev_dependency=False, *platform_labels)

Especifica plataformas de execução já definidas que serão registradas quando este módulo for selecionado. Devem ser padrões de destino absolutos (ou seja, que começam com @ ou //). Consulte resolução da cadeia de ferramentas para mais informações.

Parâmetros

Parâmetro Descrição
dev_dependency O padrão é False
. Se for "true", 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 toolchains já definidas que serão registradas quando este módulo for selecionado. Devem ser padrões de destino absolutos (ou seja, que começam com @ ou //). Consulte resolução da cadeia de ferramentas para mais informações.

Parâmetros

Parâmetro Descrição
dev_dependency O padrão é False
. Se for "true", as toolchains não serão registradas 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 das toolchains a serem registradas. Os rótulos podem incluir :all. Nesse caso, todos os destinos que fornecem a cadeia de ferramentas no pacote serão registrados em ordem lexicográfica por nome.

single_version_override

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

Especifica que uma dependência ainda deve vir de um registro, mas a versão precisa ser fixada, o registro substituído ou uma lista de patches aplicada. Essa diretiva só entra em vigor no módulo raiz. Em outras palavras, se um módulo for usado como dependência por outros, as substituições dele serão ignoradas.

Parâmetros

Parâmetro Descrição
module_name obrigatório
O nome da dependência do módulo do Bazel a que essa substituição será aplicada.
version O padrão é ''
Substitui a versão declarada deste módulo no gráfico de dependências. Em outras palavras, esse módulo será "fixado" nessa versão de substituição. Esse atributo pode ser omitido se você quiser substituir apenas o registro ou os patches.
registry O padrão é ''
. Substitui o registro deste módulo. Em vez de encontrar este módulo na lista padrão de registros, o registro fornecido deve ser usado.
patches Iterável de strings; o padrão é []
Uma lista de rótulos que apontam para arquivos de patch a serem aplicados 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 depois que os patches forem aplicados.
patch_strip O padrão é 0
Igual ao argumento --strip do patch do Unix.

use_extension

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

Retorna um objeto proxy que representa uma extensão de módulo. Os métodos dele 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 precisa ser exportado pelo arquivo Starlark.
dev_dependency O padrão é False
. Se for "true", 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 mudar a qualquer momento. Não dependa dele. Ele pode ser ativado experimentalmente definindo ---experimental_isolated_extension_usages
Se for verdadeiro, esse uso da extensão do módulo será isolado de todos os outros usos, tanto neste quanto em outros módulos. As tags criadas para esse uso não afetam outros usos, e os repositórios gerados pela extensão para esse uso são diferentes de todos os outros repositórios gerados pela extensão.

No momento, esse parâmetro está em fase experimental e disponível apenas com a flag --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 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 required
Especifica determinados repositórios para importar para o escopo do módulo atual com nomes diferentes. As chaves precisam ser o nome a 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 forma só ficam 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ó 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 do repositório.
repo_rule_name obrigatório
O nome da regra de repositório a ser usada. Um símbolo com esse nome precisa ser exportado pelo arquivo Starlark.