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",
)
download_remote_files
download_remote_files(ctx, auth)
Es una 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. Se supone que los parámetros remote_file_urls
y remote_file_integrity
están presentes en 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. |
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
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 para leer |
Muestra
el dict de Auth, 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 tiene como objetivo implementar la macro Repositories.bzl segura documentada 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 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 |
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 .
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 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 |
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
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 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)
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. |