regras do repositório de utilitários

As funções a seguir 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 fazer o download de arquivos remotos.

Essa regra é destinada ao uso na função de implementação de uma regra de repositório. Ela pressupõe que os parâmetros remote_file_urls e remote_file_integrity estejam presentes em ctx.attr.

Parâmetros

ctx obrigatórios.

O contexto do repositório da regra de repositório que chama essa função de utilitário.

auth opcional. O padrão é None

Um 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 obter o dicionário de autenticação correto para uma lista de URLs do arquivo .netrc.

Oferece suporte a atributos opcionais netrc e auth_patterns, se disponíveis.

Parâmetros

ctx obrigatórios.

O contexto do repositório da regra de repositório que chama essa função de utilitário.

urls obrigatórios.

a lista de URLs a serem lidos

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 segura repositories.bzl documentada em https://bazel.build/rules/deploying#dependencies.

Parâmetros

repo_rule obrigatórios.

função de regra de repositório.

name obrigatórios.

nome do repositório a ser criado.

kwargs opcional.

argumentos restantes que são 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 obrigatórios.

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

dicionário que mapeia nomes de máquinas para um dicionário 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 aplicação de patch em um repositório já extraído.

Essa regra é destinada ao uso 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 então eles serão extraídos de ctx.attr.

Parâmetros

ctx obrigatórios.

O contexto do repositório da regra de repositório que chama essa função de utilitário.

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 a serem executados para aplicaçã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 a serem executados para aplicação de patch, transmitidos um de cada vez para powershell /c. Lista de strings. Se o valor booleano desse parâmetro for falso, 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.

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 obrigatórios.

O contexto do repositório da regra de repositório que chama essa função de utilitário.

filename obrigatórios.

o nome do arquivo .netrc a ser lido

Retorna

dicionário que mapeia nomes de máquinas para um dicionário 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)

Leia o arquivo netrc padrão do usuário.

Parâmetros

ctx obrigatórios.

O contexto do repositório da regra de repositório que chama essa função utilitária.

Retorna

dicionário que mapeia nomes de máquinas para um dicionário 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 obrigatórios.

dicionário de atributos definidos (explícita ou implicitamente) por uma determinada invocação de regra

keys obrigatórios.

conjunto completo de atributos definidos nessa regra

override obrigatórios.

dicionário de atributos a serem substituídos ou adicionados à origem

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 obrigatórios.

um arquivo netrc já analisado para um dicionário, por exemplo, como obtido de read_netrc

urls obrigatórios.

uma lista de URLs.

patterns obrigatórios.

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, bem como o mapeamento de "tipo" para "básico" ou "padrão".

workspace_and_buildfile

load("@bazel//tools/build_defs/repo:utils.bzl", "workspace_and_buildfile")

workspace_and_buildfile(ctx)

Função utilitária para gravar o WORKSPACE e, se solicitado, um arquivo BUILD.

Essa regra é destinada ao uso na função de implementação de uma regra de repositório. Ela pressupõe que os parâmetros name, build_file, build_file_content, workspace_file, e workspace_file_content estejam presentes em ctx.attr; os quatro últimos possivelmente com o valor "Nenhum".

Parâmetros

ctx obrigatórios.

O contexto do repositório da regra de repositório que chama essa função de utilitário.