Reglas del repositorio de utilidades

Informar un problema Ver código fuente Nightly · 8.0 7.4 . 7.3 · 7.2 · 7.1 · 7.0 · 6.5

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 del repositorio. Se pueden cargar de la siguiente manera.

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

get_auth

get_auth(ctx, urls)

Es una función de utilidad para obtener el diccionario de autenticación correcto para una lista de URLs del archivo .netrc.

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

Parámetros

ctx ya no sea necesario.

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

urls ya no sea necesario.

la lista de URLs que se deben leer

Muestra

el diccionario de autenticación que se puede pasar a repository_ctx.download

tal vez

maybe(repo_rule, name, kwargs)

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

Esto es para implementar la macro repositories.bzl segura que se documenta en https://bazel.build/rules/deploying#dependencies.

Parámetros

repo_rule ya no sea necesario.

función de regla del repositorio.

name ya no sea necesario.

nombre del repositorio que se creará.

kwargs Opcional.

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

Muestra

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

parse_netrc

parse_netrc(contents, filename)

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

Parámetros

contents ya no sea necesario.

entrada para el analizador.

filename Opcional. El valor predeterminado es None.

Es el nombre de archivo que se usará en los mensajes de error, si corresponde.

Muestra

Diccionario que asigna nombres de máquinas a un diccionario con la información proporcionada sobre ellos

patch

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

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

Esta regla está diseñada para usarse en la función de implementación de una regla de repositorio. Si no se especifican los parámetros patches, patch_tool, patch_args, patch_cmds y patch_cmds_win, se toman de ctx.attr.

Parámetros

ctx ya no sea necesario.

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

patches Opcional. El valor predeterminado es None.

Los archivos de parches que se aplicarán. Es una lista de cadenas, etiquetas o rutas.

patch_cmds Opcional. El valor predeterminado es None.

Comandos de Bash para ejecutar parches, que se pasan uno a la vez a bash -c. Lista de strings

patch_cmds_win Opcional. El valor predeterminado es None.

Comandos de PowerShell para ejecutar parches, que se pasan uno a la vez a powershell /c. Es una lista de cadenas. Si el valor booleano de este parámetro es falso, se usará patch_cmds y se ignorará este parámetro.

patch_tool Opcional. El valor predeterminado es None.

Es la ruta de acceso de la herramienta de parches que se ejecutará para aplicar los parches. String.

patch_args Opcional. El valor predeterminado es None.

Argumentos para pasar a la herramienta de parches. Es una 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 URLs.

read_netrc

read_netrc(ctx, filename)

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

Parámetros

ctx ya no sea necesario.

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

filename ya no sea necesario.

el nombre del archivo .netrc que se leerá

Muestra

Diccionario que asigna nombres de máquinas a un diccionario con la información proporcionada sobre ellos

read_user_netrc

read_user_netrc(ctx)

Lee el archivo netrc predeterminado del usuario.

Parámetros

ctx ya no sea necesario.

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

Muestra

Es un diccionario que asigna nombres de máquinas a un diccionario con la información proporcionada sobre ellos.

update_attrs

update_attrs(orig, keys, override)

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

Se usa para hacer que una regla sea reproducible.

Parámetros

orig ya no sea necesario.

Diccionario de atributos establecidos (de forma explícita o implícita) por una invocación de regla en particular

keys ya no sea necesario.

conjunto completo de atributos definidos en esta regla

override ya no sea necesario.

Es un diccionario de atributos para anular o agregar a la versión original.

Muestra

Diccionario de atributos con las claves de anulación insertadas o actualizadas

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 ya no sea necesario.

Un archivo netrc que ya se analizó en un diccionario, p.ej., como se obtiene de read_netrc

urls ya no sea necesario.

una lista de URLs.

patterns ya no sea necesario.

Diccionario opcional de URLs a patrones de autorización

Muestra

Es un diccionario adecuado como argumento de autenticación para ctx.download. Más precisamente, el diccionario asignará todas las URLs en las que el archivo netrc proporciona el acceso y la contraseña a un diccionario que contiene el acceso, la contraseña y el patrón de autorización opcional correspondientes, así como la asignación de "type" a "basic" o "pattern".

workspace_and_buildfile

workspace_and_buildfile(ctx)

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

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

Parámetros

ctx ya no sea necesario.

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