regras do repositório de utilitários

As seguintes funções podem ser carregadas do @bazel_tools//tools/build_defs/repo:utils.bzl.

Utilitários para manipular repositórios externos, depois de buscados.

Configuração

Esses utilitários foram criados para serem usados 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",
)

talvez

maybe(repo_rule, name, kwargs)

Função de utilitário para adicionar um repositório apenas se ele ainda não estiver presente.

O objetivo é implementar a macro DataStore.bzl segura documentada em https://bazel.build/rules/deploying#Dependencies.

Parâmetros

repo_rule uma API.

função da regra de repositório.

name uma API.

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

parse_netrc(contents, filename)

Função de utilitário 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 de arquivo para usar em mensagens de erro, se houver.

Retorna

dict que mapeia nomes de máquinas para um dict com as informações fornecidas sobre eles.

patch

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

Implementação da aplicação de patches 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 uma API.

O contexto do repositório da regra do repositório que chama essa função do 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, passados 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 patches, passados um de cada vez para powershell /c. Lista de strings. Se o valor booleano desse parâmetro for "false", o patch_cmds será usado, e o 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 passados para a ferramenta de patch. Lista de strings.

auth opcional. O padrão é None.

Um dict opcional que especifica informações de autenticação para alguns dos URLs.

read_netrc

read_netrc(ctx, filename)

Função de utilitário 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 do utilitário.

filename uma API.

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

read_user_netrc

read_user_netrc(ctx)

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

Parâmetros

ctx uma API.

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

Retorna

dict que mapeia nomes de máquinas para um dict com as informações fornecidas sobre eles.

update_attrs

update_attrs(orig, keys, override)

Função de utilitário 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.

dict de atributos realmente 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.

Ditado de atributos para substituir ou adicionar ao orig

Retorna

dict de atributos com as chaves de substituição inserida/atualizada

use_netrc

use_netrc(netrc, urls, patterns)

Calcule um dict de autenticação de um arquivo netrc analisado e uma lista de URLs.

Parâmetros

netrc uma API.

Um arquivo netrc já analisado para um dict, por exemplo, obtido de read_netrc

urls uma API.

uma lista de URLs.

patterns uma API.

Ditado opcional do URL para padrões de autorização

Retorna

dict adequado como argumento de autenticação para ctx.download. Mais precisamente, o dict mapeará todos os URLs em que o arquivo netrc fornece login e senha para um dicionário que contém o login, senha e padrão de autorização opcional correspondente, bem como o mapeamento de "type" para "basic" ou "pattern".

workspace_and_buildfile

workspace_and_buildfile(ctx)

Função de utilitário para escrever WORKSPACE e, se solicitado, 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, build_file_content, workspace_file e workspace_file_content estejam presentes em ctx.attr. Os quatro últimos podem estar com valor None.

Parâmetros

ctx uma API.

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