regras do repositório de utilitários

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 é 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.

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.