Reglas del repositorio de utilidades

Informar un problema Ver fuente

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

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

tal vez

maybe(repo_rule, name, kwargs)

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

Esto tiene como objetivo implementar la macro Repositories.bzl segura documentada 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.

Devuelve

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

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.

Devuelve

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

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 usarse en la función de implementación de una regla de repositorio. Si los parámetros patches, patch_tool, patch_args, patch_cmds y patch_cmds_win no se especifican, se toman de ctx.attr.

Parámetros

ctx o API.

El contexto del repositorio de la regla de repositorio que llama a esta función de 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 para ejecutar para la aplicación de parches 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 y aplicar parches, que se pasan uno por vez a powershell /c Lista de cadenas. Si el valor booleano de este parámetro es falso, se usará parche_cmds 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 aplicar los parches. 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

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 función de utilidad.

filename o API.

el nombre del archivo .netrc que se leerá

Devuelve

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

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.

Devuelve

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

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.

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

keys o API.

conjunto completo de atributos definidos en esta regla

override o API.

diccionario de atributos para anular o agregar a Orig

Devuelve

dict de atributos con las claves de anulación insertadas/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 o API.

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

urls o API.

una lista de URLs.

patterns o API.

diccionario opcional de URL para patrones de autorización

Devuelve

dict es adecuado como argumento auth para ctx.download; más precisamente, el dict asignará todas las URLs en las que el archivo netrc proporcione información de acceso y contraseña a un diccionario que contenga el patrón de autorización opcional, la contraseña y el acceso correspondiente, así como la asignación del "type" a "basic" o "pattern".

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

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