Reglas del repositorio de utilidades

Las siguientes funciones se pueden cargar desde @bazel_tools//tools/build_defs/repo:utils.bzl

Utilidades para manipular repositorios externos una vez recuperados

Configuración

Estas utilidades están diseñadas para que las usen otras reglas de repositorio. Ellas se puede cargar de la siguiente manera.

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)

Función de utilidad para descargar archivos remotos.

Esta regla está diseñada para utilizarse en la función de implementación de una regla de repositorio. Supone los parámetros remote_file_urls y remote_file_integrity para estar presente en ctx.attr.

Parámetros

ctx o API.

El contexto del repositorio de la regla de repositorio que llama a esta utilidad .

auth opcional. el valor predeterminado es None

Un diccionario opcional que especifica la información de autenticación para algunas de las URL.

get_auth

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

get_auth(ctx, urls)

Es una función de utilidad que permite obtener el dict de Auth correcto para una lista de URLs del archivo .netrc.

Se admiten los atributos opcionales netrc y auth_patterns si están disponibles.

Parámetros

ctx o API.

El contexto del repositorio de la regla de repositorio que llama a esta utilidad .

urls o API.

la lista de URLs para leer

Muestra

el dict de Auth, que se puede pasar a repository_ctx.download

tal vez

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

maybe(repo_rule, name, **kwargs)

Es una función de utilidad solo para agregar un repositorio si aún no está presente.

Esto sirve para implementar la macro repositorios.bzl seguros documentadas en https://bazel.build/rules/deploying#dependencies.

Parámetros

repo_rule o API.

función de regla de repositorio.

name o API.

del repositorio que se creará.

kwargs opcional.

los argumentos restantes que se pasan a la función repo_rule.

Muestra

Nada, define el repositorio como un efecto secundario cuando es necesario.

parse_netrc

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

parse_netrc(contents, filename)

Es una función de utilidad para analizar al menos un archivo .netrc básico.

Parámetros

contents o API.

para el analizador.

filename opcional. el valor predeterminado es None

nombre de archivo para utilizarlo en mensajes de error, si corresponde.

Muestra

dict asigna nombres de máquina a un dict con la información proporcionada información

patch

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

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

Implementación de la aplicación de parches en un repositorio ya extraído.

Esta regla está diseñada para utilizarse en la función de implementación de una regla de repositorio. Si los parámetros patches, patch_tool, No se especificaron patch_args, patch_cmds ni patch_cmds_win Luego, se toman de ctx.attr.

Parámetros

ctx o API.

El contexto del repositorio de la regla de repositorio que llama a esta utilidad .

patches opcional. el valor predeterminado es None

Los archivos de parche que se aplicarán. Lista de cadenas, etiquetas o rutas de acceso.

patch_cmds opcional. el valor predeterminado es None

Los comandos Bash que se ejecutan para la aplicación de parches pasan uno a la vez para bash -c. Lista de strings

patch_cmds_win opcional. el valor predeterminado es None

Comandos de PowerShell para ejecutar para la aplicación de parches, aprobados de a una por vez a PowerShell /c. Lista de cadenas. Si el botón el valor booleano de este parámetro es falso, el parche_cmds será y se ignorará este parámetro.

patch_tool opcional. el valor predeterminado es None

Ruta de acceso de la herramienta de parches que se ejecutará para la aplicación parches de seguridad. String.

patch_args opcional. el valor predeterminado es None

Argumentos para pasar a la herramienta de parches. Lista de cadenas.

auth opcional. el valor predeterminado es None

Un diccionario opcional que especifica la información de autenticación para algunas de las URL.

read_netrc

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

read_netrc(ctx, filename)

Es una función de utilidad para analizar al menos un archivo .netrc básico.

Parámetros

ctx o API.

El contexto del repositorio de la regla de repositorio que llama a esta utilidad .

filename o API.

el nombre del archivo .netrc que se leerá

Muestra

dict asigna nombres de máquina a un dict con la información proporcionada información

read_user_netrc

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

read_user_netrc(ctx)

Leer el archivo netrc predeterminado del usuario

Parámetros

ctx o API.

El contexto del repositorio de la regla de repositorio que llama a esta función de utilidad.

Muestra

dict asigna nombres de máquina a un dict con la información proporcionada sobre ellos.

update_attrs

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

update_attrs(orig, keys, override)

Es una función de utilidad para modificar y agregar los atributos especificados a una invocación de regla de repositorio en particular.

Se usa para que una regla sea reproducible.

Parámetros

orig o API.

dict de atributos establecidos (ya sea de manera explícita o implícita) por una invocación de regla particular

keys o API.

conjunto completo de atributos definidos en esta regla

override o API.

diccionario de atributos para anular o agregar a Orig

Muestra

dict de atributos con las claves de anulación insertadas/actualizadas

use_netrc

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

use_netrc(netrc, urls, patterns)

Calcula un diccionario de autenticación a partir de un archivo netrc analizado y una lista de URLs.

Parámetros

netrc o API.

un archivo netrc ya analizado como un dict, p.ej., como se obtuvo de read_netrc

urls o API.

una lista de URLs.

patterns o API.

diccionario opcional de URL para patrones de autorización

Muestra

dict adecuado como argumento auth para ctx.download; más precisamente, el dict Se asignarán todas las URLs en las que el archivo netrc proporcione la información de acceso y la contraseña a una dict que contiene el inicio de sesión, la contraseña y el patrón de autorización opcional correspondientes, así como la asignación de "tipo" a "básico" o “patrón”.

workspace_and_buildfile

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

workspace_and_buildfile(ctx)

Función de utilidad para escribir WORKSPACE y, si se solicita, un archivo BUILD.

Esta regla está diseñada para utilizarse en la función de implementación de un regla de repositorio. Se supone que los parámetros name, build_file, build_file_content y workspace_file y workspace_file_content como presente en ctx.attr; los últimos cuatro posiblemente con el valor Ninguno.

Parámetros

ctx o API.

El contexto del repositorio de la regla de repositorio que llama a esta utilidad .