As seguintes funções podem ser carregadas de @bazel_tools//tools/build_defs/repo:utils.bzl.
Utilitários para manipular repositórios externos depois de buscados.
Configuração
Esses utilitários são destinados ao uso por outras regras de repositório. Eles podem ser carregados da seguinte maneira.
load(
    "@bazel_tools//tools/build_defs/repo:utils.bzl",
    "workspace_and_buildfile",
    "patch",
    "update_attrs",
)
download_remote_files
load("@bazel//tools/build_defs/repo:utils.bzl", "download_remote_files")
download_remote_files(ctx, auth)
Função utilitária para baixar arquivos remotos.
Essa regra deve ser usada na função de implementação de
uma regra de repositório. Ele pressupõe que os parâmetros remote_file_urls e remote_file_integrity estejam presentes em ctx.attr.
Os arquivos atuais serão substituídos.
Parâmetros
ctx | 
e recursos computacionais.
 O contexto do repositório da regra que chama essa função utilitária.  | 
auth | 
opcional.
O padrão é None
Um dicionário opcional que especifica informações de autenticação para alguns dos URLs.  | 
Retorna
Dicionário que mapeia caminhos de arquivos para informações de download.
get_auth
load("@bazel//tools/build_defs/repo:utils.bzl", "get_auth")
get_auth(ctx, urls)
Função utilitária para extrair o dicionário de autenticação correto de uma lista de URLs do arquivo .netrc.
Suporte aos atributos opcionais netrc e auth_patterns, se disponíveis.
Parâmetros
ctx | 
e recursos computacionais.
 O contexto do repositório da regra que chama essa função utilitária.  | 
urls | 
e recursos computacionais.
 a lista de URLs para ler  | 
Retorna
o dicionário de autenticação que pode ser transmitido para repository_ctx.download
então
load("@bazel//tools/build_defs/repo:utils.bzl", "maybe")
maybe(repo_rule, name, **kwargs)
Função utilitária para adicionar um repositório apenas se ele ainda não estiver presente.
Isso é para implementar a macro safe_repositories.bzl documentada em https://bazel.build/rules/deploying#dependencies.
Parâmetros
repo_rule | 
e recursos computacionais.
 função de regra do repositório.  | 
name | 
e recursos computacionais.
 nome do repositório a ser criado.  | 
kwargs | 
opcional.
 argumentos restantes transmitidos para a função repo_rule.  | 
Retorna
Nada, define o repositório quando necessário como um efeito colateral.
parse_netrc
load("@bazel//tools/build_defs/repo:utils.bzl", "parse_netrc")
parse_netrc(contents, filename)
Função utilitária para analisar pelo menos um arquivo .netrc básico.
Parâmetros
contents | 
e recursos computacionais.
 entrada para o analisador.  | 
filename | 
opcional.
O padrão é "a .netrc file"
nome do arquivo a ser usado em mensagens de erro, se houver.  | 
Retorna
dict que mapeia nomes de máquinas para um dict com as informações fornecidas sobre elas
patch
load("@bazel//tools/build_defs/repo:utils.bzl", "patch")
patch(ctx, patches, patch_cmds, patch_cmds_win, patch_tool, patch_args, auth)
Implementação de patch em um repositório já extraído.
Essa regra deve ser usada na função de implementação de
uma regra de repositório. Se os parâmetros patches, patch_tool, patch_args, patch_cmds e patch_cmds_win não forem especificados, eles serão extraídos de ctx.attr.
Parâmetros
ctx | 
e recursos computacionais.
 O contexto do repositório da regra que chama essa função utilitária.  | 
patches | 
opcional.
O padrão é None
Os arquivos de patch a serem aplicados. Lista de strings, rótulos ou caminhos.  | 
patch_cmds | 
opcional.
O padrão é None
Comandos bash para execução de patch, transmitidos um de cada vez para bash -c. Lista de strings  | 
patch_cmds_win | 
opcional.
O padrão é None
Comandos do PowerShell para execução de patch, transmitidos um de cada vez para powershell /c. Lista de strings. Se o valor booleano desse parâmetro for "false", patch_cmds será usado e esse parâmetro será ignorado.  | 
patch_tool | 
opcional.
O padrão é None
Caminho da ferramenta de patch a ser executada para aplicar patches. String.  | 
patch_args | 
opcional.
O padrão é None
Argumentos a serem transmitidos para a ferramenta de patch. Lista de strings.  | 
auth | 
opcional.
O padrão é None
Um dicionário opcional que especifica informações de autenticação para alguns dos URLs.  | 
Retorna
Dicionário que mapeia URLs de patch remotos para informações de download.
read_netrc
load("@bazel//tools/build_defs/repo:utils.bzl", "read_netrc")
read_netrc(ctx, filename)
Função utilitária para analisar pelo menos um arquivo .netrc básico.
Parâmetros
ctx | 
e recursos computacionais.
 O contexto do repositório da regra que chama essa função utilitária.  | 
filename | 
e recursos computacionais.
 o nome do arquivo .netrc a ser lido  | 
Retorna
dict que mapeia nomes de máquinas para um dict com as informações fornecidas sobre elas
read_user_netrc
load("@bazel//tools/build_defs/repo:utils.bzl", "read_user_netrc")
read_user_netrc(ctx)
Lê o arquivo netrc padrão do usuário.
Parâmetros
ctx | 
e recursos computacionais.
 O contexto do repositório da regra que chama essa função utilitária.  | 
Retorna
dict que mapeia nomes de máquinas para um dict com as informações fornecidas sobre elas.
symlink_files
load("@bazel//tools/build_defs/repo:utils.bzl", "symlink_files")
symlink_files(ctx)
Função utilitária para criar links simbólicos de arquivos locais.
Isso deve ser usado na função de implementação de uma regra de repositório. Ele pressupõe que o parâmetro files esteja presente em ctx.attr.
Os arquivos atuais serão substituídos.
Parâmetros
ctx | 
e recursos computacionais.
 O contexto do repositório da regra que chama essa função utilitária.  | 
update_attrs
load("@bazel//tools/build_defs/repo:utils.bzl", "update_attrs")
update_attrs(orig, keys, override)
Função utilitária para alterar e adicionar os atributos especificados a uma determinada invocação de regra de repositório.
Isso é usado para tornar uma regra reproduzível.
Parâmetros
orig | 
e recursos computacionais.
 dicionário de atributos definidos (explícita ou implicitamente) por uma determinada invocação de regra  | 
keys | 
e recursos computacionais.
 conjunto completo de atributos definidos nessa regra  | 
override | 
e recursos computacionais.
 Dicionário de atributos para substituir ou adicionar ao orig  | 
Retorna
Dicionário de atributos com as chaves da substituição inseridas/atualizadas
use_netrc
load("@bazel//tools/build_defs/repo:utils.bzl", "use_netrc")
use_netrc(netrc, urls, patterns)
Calcular um dicionário de autenticação de um arquivo netrc analisado e uma lista de URLs.
Parâmetros
netrc | 
e recursos computacionais.
 um arquivo netrc já analisado em um dict, por exemplo, como obtido de read_netrc  | 
urls | 
e recursos computacionais.
 uma lista de URLs.  | 
patterns | 
e recursos computacionais.
 dicionário opcional de URL para padrões de autorização  | 
Retorna
Dicionário adequado como argumento de autenticação para ctx.download. Mais precisamente, o dicionário vai mapear todos os URLs em que o arquivo netrc fornece login e senha para um dicionário que contém o login, a senha e o padrão de autorização opcional correspondentes, além do mapeamento de "type" para "basic" ou "pattern".
workspace_and_buildfile
load("@bazel//tools/build_defs/repo:utils.bzl", "workspace_and_buildfile")
workspace_and_buildfile(ctx)
Função utilitária para gravar um arquivo BUILD.
Essa regra deve ser usada na função de implementação de uma regra de repositório.
Ele pressupõe que os parâmetros name, build_file e build_file_content estejam presentes em ctx.attr. Os dois últimos podem ter o valor "None".
Parâmetros
ctx | 
e recursos computacionais.
 O contexto do repositório da regra que chama essa função utilitária.  |