Arquivos MODULE.bazel

Reportar um problema Nightly · 8.0 7.4 . 7.3 · 7.2 · 7.1 · 7.0 · 6.5

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

Membros

archive_override

None archive_override(module_name, **kwargs)

Especifica que essa dependência precisa vir de um arquivo de arquivamento (zip, gzip etc.) em um determinado local, em vez de um registro. Na prática, essa dependência será apoiada por uma regra http_archive.

Essa diretiva só entra em vigor no módulo raiz. Em outras palavras, se um módulo é usado como uma dependência por outros, as próprias substituições são ignoradas.

Parâmetros

Parâmetro Descrição
module_name string; obrigatório
O nome da dependência do módulo do Bazel a que essa substituição será aplicada.
kwargs required
Todos os outros argumentos são encaminhados para a regra de repositório http_archive subjacente. O atributo name não precisa ser especificado. Use module_name.

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 string; required
O nome do módulo a ser adicionado como dependência direta.
version string; o padrão é ''
A versão do módulo a ser adicionada como uma dependência direta.
max_compatibility_level int; o padrão é -1
O compatibility_level máximo compatível com o módulo a ser adicionado como uma dependência direta. A versão do módulo implica o nível de compatibilidade mínimo aceito, bem como o máximo, se esse atributo não for especificado.
repo_name string; o padrão é ''
O nome do repositório externo que representa essa dependência. Esse é o nome padrão do módulo.
dev_dependency bool; 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, **kwargs)

Especifica que essa dependência precisa vir de uma confirmação específica em um repositório Git, em vez de um registro. Na prática, essa dependência será apoiada por uma regra git_repository.

Essa diretiva só entra em vigor no módulo raiz. Em outras palavras, se um módulo é usado como uma dependência por outros, as próprias substituições são ignoradas.

Parâmetros

Parâmetro Descrição
module_name string; obrigatório
O nome da dependência do módulo do Bazel a que essa substituição será aplicada.
kwargs required
Todos os outros argumentos são encaminhados para a regra de repositório git_repository. O atributo name não precisa ser especificado. Use module_name.

incluem

None include(label)

Inclui o conteúdo de outro arquivo MODULE.bazel-like. Na prática, 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ó são visíveis no arquivo em que ocorrem, e não em arquivos incluídos ou que incluem outros.

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

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

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 de segmentos semânticos individuais.

Parâmetros

Parâmetro Descrição
label string; 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 duas barras (//).

inject_repo

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

Injeta um ou mais repositórios novos na extensão de módulo especificada. Isso será ignorado se o módulo atual não for o módulo raiz ou --ignore_dev_dependency estiver ativado.

Use override_repo para substituir um repositório existente.

Parâmetros

Parâmetro Descrição
extension_proxy module_extension_proxy; required
Um objeto proxy de extensão de módulo retornado por uma chamada use_extension.
args required
Os repositórios visíveis para o módulo atual que precisam ser injetados na extensão com o mesmo nome.
kwargs required
Os novos repositórios a serem injetados na extensão, em que os valores são os nomes dos repositórios no escopo do módulo atual e as chaves são o nome em que eles vão aparecer na extensão.

local_path_override

None local_path_override(module_name, path)

Especifica que essa dependência precisa vir de um determinado diretório no disco local, em vez de um registro. Na prática, essa dependência será apoiada por uma regra local_repository.

Essa diretiva só entra em vigor no módulo raiz. Em outras palavras, se um módulo é usado como uma dependência por outros, as próprias substituições são ignoradas.

Parâmetros

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

module

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 elementos dependentes.

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 for o módulo raiz, ou seja, se não depender de outro módulo.

Parâmetros

Parâmetro Descrição
name string; O padrão é ''
. O nome do módulo. Só pode ser omitido se esse módulo for o raiz, ou seja, se não for usado por 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 string; o padrão é ''
A versão do módulo. Só pode ser omitido se esse módulo for o raiz, ou seja, se não for usado por outro módulo. A versão precisa estar em um formato SemVer relaxado. Consulte a documentação para mais detalhes.
compatibility_level int; o padrão é 0
O nível de compatibilidade do módulo. Ele precisa ser alterado sempre que uma mudança importante e incompatível for introduzida. Essa é essencialmente a "versão principal" do módulo em termos de SemVer, exceto que ela não está incorporada à 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 ver mais detalhes.
repo_name string; o padrão é ''
O nome do repositório que representa esse módulo, conforme visto pelo próprio módulo. Por padrão, o nome do repositório é o mesmo 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 do Bazel são compatíveis com esse módulo. Ele NÃO afeta a resolução de dependências, mas o bzlmod vai usar 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írgulas. Três restrições são aceitas: <=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 só estão disponíveis 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 X.X.X que afeta você, mas que foi corrigido em 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 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 é usado como dependência por outros, as substituições dele são ignoradas.

Parâmetros

Parâmetro Descrição
module_name string; obrigatório
O nome da dependência do módulo do Bazel a que essa substituição será aplicada.
versions Iterável de strings; requerido
Especifica explicitamente as versões permitidas a 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 "upgradeadas" para a versão mais recente permitida no mesmo nível de compatibilidade. Já 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 string; o padrão é ''
Sobrescreve o registro desse módulo. Em vez de encontrar esse módulo na lista padrão de registros, o registro fornecido precisa ser usado.

override_repo

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

Substitui um ou mais repositórios definidos pela extensão de módulo especificada com os repositórios visíveis para o módulo atual. Isso será ignorado se o módulo atual não for o raiz ou se `--ignore_dev_dependency` estiver ativado.

Use inject_repo para adicionar um novo repositório.

Parâmetros

Parâmetro Descrição
extension_proxy module_extension_proxy; required
Um objeto proxy de extensão de módulo retornado por uma chamada use_extension.
args required
Os repositórios na extensão que precisam ser substituídos pelos repositórios com o mesmo nome no módulo atual.
kwargs required
As substituições a serem aplicadas aos repositórios gerados pela extensão, em que os valores são os nomes dos repositórios no escopo do módulo atual e as chaves são os nomes dos repositórios que serão substituídos na extensão.

register_execution_platforms

None register_execution_platforms(dev_dependency=False, *platform_labels)

Especifica plataformas de execução já definidas para serem registradas quando este módulo for selecionado. Devem ser padrões de destino absolutos (ou seja, começando com @ ou //). Consulte resolução de cadeia de ferramentas para mais informações. Padrões que se expandem para vários destinos, como :all, serão registrados em ordem alfabética por nome.

Parâmetros

Parâmetro Descrição
dev_dependency bool; 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 padrões de destino a serem registrados.

register_toolchains

None register_toolchains(dev_dependency=False, *toolchain_labels)

Especifica as cadeias de ferramentas já definidas que serão registradas quando este módulo for selecionado. Devem ser padrões de destino absolutos (ou seja, começando com @ ou //). Consulte resolução de cadeia de ferramentas para mais informações. Padrões que se expandem para vários destinos, como :all, serão registrados em ordem alfabética pelo nome do destino (não o nome da implementação do conjunto de ferramentas).

Parâmetros

Parâmetro Descrição
dev_dependency bool; o padrão é False
Se verdadeiro, 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 padrões de destino a serem registrados.

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 dela precisa ser fixada, o registro precisa ser substituído ou uma lista de patches precisa ser aplicada. Essa diretiva só entra em vigor no módulo raiz. Em outras palavras, se um módulo é usado como dependência por outros, as substituições dele são ignoradas.

Parâmetros

Parâmetro Descrição
module_name string; obrigatório
O nome da dependência do módulo do Bazel a que essa substituição será aplicada.
version string; O padrão é ''
Sobrescreve 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 tudo o que você quer substituir for o registro ou os patches.
registry string; o padrão é ''
Sobrescreve o registro desse módulo. Em vez de encontrar esse módulo na lista padrão de registros, o registro fornecido precisa ser usado.
patches Iterável de strings. O padrão é []
. Uma lista de identificadores que apontam para arquivos de patch a serem aplicados a este módulo. Os arquivos de patch precisam existir na árvore de origem do projeto de nível superior. Elas são aplicadas na ordem da lista.

Se um patch fizer alterações no arquivo MODULE.bazel, essas mudanças só serão efetivas se o arquivo de patch for fornecido pelo módulo raiz.

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.

As mudanças no arquivo MODULE.bazel não serão efetivadas.

patch_strip int; o padrão é 0
É o mesmo que o 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 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 string; required
Um rótulo para o arquivo Starlark que define a extensão do módulo.
extension_name string; 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 bool; o padrão é False
Se 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 bool; o padrão é False
Experimental. Esse parâmetro é experimental e pode mudar a qualquer momento. Não dependa dele. Ela pode ser ativada de forma experimental 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.

Esse parâmetro é experimental e está 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 module_extension_proxy; required
Um objeto proxy de extensão de módulo retornado por uma chamada use_extension.
args required
Os nomes dos repositórios a serem importados.
kwargs required
Especifica repositórios específicos para importação no escopo do módulo atual com nomes diferentes. As chaves precisam ser o nome a ser usado no escopo atual, e 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ó 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ó será criado quando o módulo atual for o raiz.

Parâmetros

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