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.
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 é NoneUm dicionário opcional que especifica informações de autenticação para alguns dos URLs. | 
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 é Nonenome 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 é NoneOs arquivos de patch a serem aplicados. Lista de strings, rótulos ou caminhos. | 
| patch_cmds | opcional.
O padrão é NoneComandos bash para execução de patch, transmitidos um de cada vez para bash -c. Lista de strings | 
| patch_cmds_win | opcional.
O padrão é NoneComandos 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 é NoneCaminho da ferramenta de patch a ser executada para aplicar patches. String. | 
| patch_args | opcional.
O padrão é NoneArgumentos a serem transmitidos para a ferramenta de patch. Lista de strings. | 
| auth | opcional.
O padrão é NoneUm dicionário opcional que especifica informações de autenticação para alguns dos URLs. | 
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.
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. |