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",
)
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 usarse en la función de implementación de una regla de repositorio. Supone que los parámetros remote_file_urls y remote_file_integrity están presentes en ctx.attr.
Se reemplazarán los archivos existentes.
Parámetros
ctx |
de procesamiento necesarios.
El contexto del repositorio de la regla de repositorio que llama a esta función de utilidad. |
auth |
opcional. El valor predeterminado es None.
Un diccionario opcional que especifica la información de autenticación para algunas de las URLs. |
Muestra
diccionario que asigna rutas de acceso de archivos a información de descarga
get_auth
load("@bazel//tools/build_defs/repo:utils.bzl", "get_auth")
get_auth(ctx, urls)
Función de utilidad para obtener el diccionario de autenticación correcto para una lista de URLs del archivo .netrc.
Admite atributos opcionales netrc y auth_patterns si están disponibles.
Parámetros
ctx |
de procesamiento necesarios.
El contexto del repositorio de la regla de repositorio que llama a esta función de utilidad. |
urls |
de procesamiento necesarios.
la lista de URLs para leer |
Muestra
el diccionario de autenticación que se puede pasar a repository_ctx.download
maybe
load("@bazel//tools/build_defs/repo:utils.bzl", "maybe")
maybe(repo_rule, name, **kwargs)
Función de utilidad para agregar un repositorio solo si aún no está presente.
Esto es para implementar la macro safe repositories.bzl documentada en https://bazel.build/rules/deploying#dependencies.
Parámetros
repo_rule |
de procesamiento necesarios.
función de regla de repositorio |
name |
de procesamiento necesarios.
nombre del repositorio que se creará |
kwargs |
opcional.
argumentos restantes que se pasan a la función repo_rule |
Muestra
Nada, define el repositorio cuando es necesario como efecto secundario.
parse_netrc
load("@bazel//tools/build_defs/repo:utils.bzl", "parse_netrc")
parse_netrc(contents, filename)
Función de utilidad para analizar al menos un archivo .netrc básico.
Parámetros
contents |
de procesamiento necesarios.
entrada para el analizador |
filename |
opcional. El valor predeterminado es "a .netrc file".
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
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 a 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 |
de procesamiento necesarios.
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.
Comandos de Bash que se ejecutarán para aplicar parches, que se pasan de a uno a bash -c. Lista de cadenas |
patch_cmds_win |
opcional. El valor predeterminado es None.
Comandos de PowerShell que se ejecutarán para aplicar parches, que se pasan de a uno a powershell /c. 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.
Ruta de acceso de la herramienta de parche que se ejecutará para aplicar parches. String. |
patch_args |
opcional. El valor predeterminado es None.
Argumentos que se pasarán a la herramienta de parche. 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. |
Muestra
diccionario que asigna URLs de parches remotos a información de descarga
read_netrc
load("@bazel//tools/build_defs/repo:utils.bzl", "read_netrc")
read_netrc(ctx, filename)
Función de utilidad para analizar al menos un archivo .netrc básico.
Parámetros
ctx |
de procesamiento necesarios.
El contexto del repositorio de la regla de repositorio que llama a esta función de utilidad. |
filename |
de procesamiento necesarios.
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
load("@bazel//tools/build_defs/repo:utils.bzl", "read_user_netrc")
read_user_netrc(ctx)
Lee el archivo .netrc predeterminado del usuario.
Parámetros
ctx |
de procesamiento necesarios.
El contexto del repositorio de la regla de repositorio que llama a esta función de utilidad. |
Muestra
diccionario que asigna nombres de máquinas a un diccionario con la información proporcionada sobre ellos
symlink_files
load("@bazel//tools/build_defs/repo:utils.bzl", "symlink_files")
symlink_files(ctx)
Función de utilidad para crear vínculos simbólicos de archivos locales.
Está diseñada para usarse en la función de implementación de una regla de repositorio. Supone que el parámetro files está presente en ctx.attr.
Se reemplazarán los archivos existentes.
Parámetros
ctx |
de procesamiento necesarios.
El contexto del repositorio de la regla de repositorio que llama a esta función de utilidad. |
update_attrs
load("@bazel//tools/build_defs/repo:utils.bzl", "update_attrs")
update_attrs(orig, keys, override)
Función de utilidad para modificar 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 |
de procesamiento necesarios.
diccionario de atributos configurados (ya sea de forma explícita o implícita) por una invocación de regla en particular |
keys |
de procesamiento necesarios.
conjunto completo de atributos definidos en esta regla |
override |
de procesamiento necesarios.
diccionario de atributos para anular o agregar a orig |
Muestra
diccionario de atributos con las claves de anulación insertadas o 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 |
de procesamiento necesarios.
un archivo netrc ya analizado en un diccionario, p.ej., como se obtuvo de read_netrc |
urls |
de procesamiento necesarios.
una lista de URLs |
patterns |
de procesamiento necesarios.
diccionario opcional de URL a patrones de autorización |
Muestra
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 nombre de acceso y la contraseña a un diccionario que contiene el nombre de acceso, 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 un archivo BUILD.
Esta regla está diseñada para usarse en la función de implementación de una regla de repositorio.
Supone que los parámetros name, build_file y build_file_content estén presentes en ctx.attr; los dos últimos posiblemente con el valor None.
Parámetros
ctx |
de procesamiento necesarios.
El contexto del repositorio de la regla de repositorio que llama a esta función de utilidad. |