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.
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. |
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 que se leerán |
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 segura 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 None
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. |
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.
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 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. |