Arquivos MODULE.bazel

Informar um problema Por noite

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 essa dependência deve 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 for usado como uma dependência por outras pessoas, suas próprias substituições serã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.
urls string ou Iterable de strings; obrigatório
Os URLs do arquivo. Podem ser URLs http(s):// ou file://.
integrity string; o padrão é ''
A soma de verificação esperada do arquivo, no formato Sub-resource Integrity.
strip_prefix string; 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 existir 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 int; 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 em outro módulo do Bazel.

Parâmetros

Parâmetro Descrição
name string; obrigatório
O nome do módulo a ser adicionado como uma 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 máximo de compatibility_level com suporte para o módulo ser adicionado como uma dependência direta. A versão do módulo implica o nível de compatibilidade mínimo compatível, bem como o máximo, se este atributo não for especificado.
repo_name string; o padrão é ''
O nome do repositório externo que representa essa dependência. Por padrão, é o nome do módulo.
dev_dependency bool; o padrão é False
Se for 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, init_submodules=False, strip_prefix='')

Especifica que uma dependência deve 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 for usado como uma dependência por outras pessoas, suas próprias substituições serã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.
remote string; obrigatório
O URL do repositório Git remoto.
commit string; o padrão é ''
A confirmação que será verificada.
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 existir 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 int; o padrão é 0
Igual ao argumento --strip do patch do Unix.
init_submodules bool; o padrão é False
Define se os submódulos git no repositório buscado precisam ser inicializados de maneira recursiva.
strip_prefix string; 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. Observe que o subdiretório precisa ter o próprio arquivo "MODULE.bazel" com um nome de módulo igual ao argumento "module_name" transmitido para este "git_override".

incluem

None include(label)

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

Somente o módulo raiz pode usar include(). Será um erro se o arquivo MÓDULO de um bazel_dep usar 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 ter 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; obrigatório
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ó tem efeito no módulo raiz. Em outras palavras, se um módulo for usado como uma dependência por outras pessoas, suas próprias substituições serã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; obrigatório
O caminho para o diretório em que esse módulo está.

module

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 o nome e a versão) ou afetam o comportamento do módulo atual e de seus dependentes.

Ela deve ser chamada no máximo uma vez e, se chamada, deve ser a primeira diretiva no arquivo MODULE.bazel. Ele só pode ser omitido se esse módulo for o módulo raiz (como se não depender de outro módulo).

Parâmetros

Parâmetro Descrição
name string; o padrão é ''
O nome do módulo. Pode ser omitido se esse módulo for o módulo raiz (como 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 string; o padrão é ''
É a versão do módulo. Pode ser omitido se esse módulo for o módulo raiz (como se ele não depender de outro módulo). A versão precisa estar em um formato SemVer descontraído. Consulte mais detalhes na documentação.
compatibility_level int; o padrão é 0
O nível de compatibilidade do módulo. Ele precisa ser alterado sempre que uma grande mudança incompatível é introduzida. Essa é essencialmente a "versão principal" do módulo em termos do SemVer, exceto por não estar incorporada na string da versão, mas sim como um campo separado. Módulos com diferentes níveis de compatibilidade participam da resolução da 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 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 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 próprio 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 este módulo. Ele NÃO afeta a resolução da dependência, 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írgula. Há três restrições 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 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 em X.X.X que atrapalha você, mas 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 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 for usado como uma dependência por outras pessoas, suas próprias substituições serã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, obrigatório
Especifica explicitamente as versões que podem coexistir. É preciso que essas versões já estejam presentes na pré-seleção do gráfico de dependências. As dependências nesse módulo serão "atualizadas" para a versão mais recente permitida mais próxima no mesmo nível de compatibilidade, enquanto as dependências com uma versão mais recente do que qualquer outra no mesmo nível vão causar erros.
registry string; o padrão é ''
Substitui o registro deste módulo. Em vez de encontrar esse módulo na lista padrão de registros, o registro fornecido precisa ser usado.

register_execution_platforms

None register_execution_platforms(dev_dependency=False, *platform_labels)

Especifica as plataformas de execução já definidas a serem registradas quando este módulo for selecionado. Precisa ser padrões de destino absolutos (ou seja, começando com @ ou //). Consulte a resolução do conjunto de ferramentas para mais informações. Os padrões que se expandem para vários destinos, como :all, são registrados em ordem lexicográfica pelo 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 os conjuntos de ferramentas já definidos a serem registrados quando este módulo for selecionado. Precisa ser padrões de destino absolutos (ou seja, começando com @ ou //). Consulte a resolução do conjunto de ferramentas para mais informações. Os padrões que se expandem para vários destinos, como :all, são registrados em ordem lexicográfica por nome de destino, e não pelo nome da implementação do conjunto de ferramentas.

Parâmetros

Parâmetro Descrição
dev_dependency bool; 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 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 deve vir de um registro, mas a versão deve 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 for usado como uma dependência por outras pessoas, suas próprias substituições serã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 é ''
Substitui a versão declarada deste módulo no gráfico de dependência. Em outras palavras, o módulo será "fixado" a essa versão de substituição. Esse atributo pode ser omitido se só quisermos substituir o registro ou os patches.
registry string; o padrão é ''
Substitui o registro deste 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 rótulos 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.
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 int; 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 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 string; obrigatório
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 ser alterado a qualquer momento. Não dependa disso. Ela pode ser ativada experimentalmente definindo --experimental_isolated_extension_usages
. Se verdadeiro, 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 pela extensão.

No momento, esse parâmetro é experimental e só está disponível 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; 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 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ão visíveis apenas para o módulo atual, com o nome declarado usando o atributo name no proxy. O atributo booleano dev_dependency implícito 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 string; obrigatório
Um rótulo para o arquivo Starlark que define a regra do repo.
repo_rule_name string; obrigatório
O nome da regra de repositório a ser usada. Um símbolo com esse nome precisa ser exportado pelo arquivo Starlark.