regras do repositório de utilitários

Informar um problema Ver a fonte Nightly · 8.0 · 7.4 · 7.3 · 7.2 · 7.1 · 7.0  · 6.5

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 a serem usados por outras regras do repositório. Eles podem ser carregados da seguinte maneira.

load(
    "@bazel_tools//tools/build_defs/repo:utils.bzl",
    "workspace_and_buildfile",
    "patch",
    "update_attrs",
)

get_auth

get_auth(ctx, urls)

Função utilitária para receber o dicionário de autenticação correto para uma lista de URLs do arquivo .netrc.

Suporte a atributos opcionais de netrc e auth_patterns, se disponíveis.

Parâmetros

ctx uma API.

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

urls uma API.

a lista de URLs para ler

Retorna

O dicionário de autenticação que pode ser transmitido para repository_ctx.download

talvez

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 uma API.

função de regra do repositório.

name uma API.

nome do repositório a ser criado.

kwargs opcional.

os 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

parse_netrc(contents, filename)

Função utilitária para analisar pelo menos um arquivo .netrc básico.

Parâmetros

contents uma API.

entrada para o analisador.

filename opcional. O padrão é None.

nome do arquivo a ser usado em mensagens de erro, se houver.

Retorna

Dicionário que mapeia os nomes de máquinas para um dicionário com as informações fornecidas sobre elas

patch

patch(ctx, patches, patch_cmds, patch_cmds_win, patch_tool, patch_args, auth)

Implementação de correção de um repositório já extraído.

Essa regra é destinada a 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 retirados de ctx.attr.

Parâmetros

ctx uma API.

O contexto do repositório da regra do 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, identificadores ou caminhos.

patch_cmds opcional. O padrão é None.

Comandos bash a serem executados para correção, transmitidos um por vez para bash -c. Lista de strings

patch_cmds_win opcional. O padrão é None.

Comandos do PowerShell para execução de patches, 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

read_netrc(ctx, filename)

Função utilitária para analisar pelo menos um arquivo .netrc básico.

Parâmetros

ctx uma API.

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

filename uma API.

o nome do arquivo .netrc a ser lido

Retorna

Dicionário que mapeia os nomes de máquinas para um dicionário com as informações fornecidas sobre elas

read_user_netrc

read_user_netrc(ctx)

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

Parâmetros

ctx uma API.

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

Retorna

Dicionário que mapeia os nomes de máquinas para um dicionário com as informações fornecidas sobre eles.

update_attrs

update_attrs(orig, keys, override)

Função utilitária para alterar e adicionar os atributos especificados a uma invocação de regra de repositório específica.

Isso é usado para tornar uma regra reproduzível.

Parâmetros

orig uma API.

Dicionário de atributos definidos (explicitamente ou implicitamente) por uma invocação de regra específica

keys uma API.

conjunto completo de atributos definidos nesta regra

override uma API.

dicionário de atributos para substituir ou adicionar à origem

Retorna

dicionário de atributos com as chaves da substituição inserida/atualizada

use_netrc

use_netrc(netrc, urls, patterns)

Calcula um dicionário de autenticação a partir de um arquivo netrc analisado e uma lista de URLs.

Parâmetros

netrc uma API.

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

urls uma API.

uma lista de URLs.

patterns uma API.

Dicionário opcional de URL para padrões de autorização

Retorna

dict adequado como argumento de autenticação para ctx.download. Mais precisamente, o dict mapeia todos os URLs em que o arquivo netrc fornece login e senha para um dict contendo o login, a senha e o padrão de autorização opcional correspondentes, bem como o mapeamento de "type" para "basic" ou "pattern".

workspace_and_buildfile

workspace_and_buildfile(ctx)

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

Essa regra é destinada a ser usada na função de implementação de uma regra de repositório. Ele 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 podem ter o valor None.

Parâmetros

ctx uma API.

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