Es el contexto de la regla del repositorio que contiene funciones auxiliares y datos sobre los atributos. Cuando creas una regla de repositorio, obtienes un objeto repository_ctx como argumento para la función implementation
.
Miembros
- attr
- borrar
- descargar
- download_and_extract
- ejecutar
- extract
- archivo
- name
- SO
- patch
- path
- leer
- report_progress
- symlink
- plantilla
- cuál
- workspace_root
attr
struct repository_ctx.attr
delete
bool repository_ctx.delete(path)
Parámetros
Parámetro | Descripción |
---|---|
path
|
string o path; requerido Ruta del archivo que se borrará, relativa al directorio del repositorio o absoluta. Puede ser una ruta de acceso o una cadena. |
descargar
struct repository_ctx.download(url, output='', sha256='', executable=False, allow_fail=False, canonical_id='', auth={}, *, integrity='')
success
, una marca que es true
si la descarga se completó correctamente y, si es así, un hash del archivo con los campos sha256
y integrity
.
Parámetros
Parámetro | Descripción |
---|---|
url
|
string o iterable de string; obligatorio Lista de URLs duplicadas que hacen referencia al mismo archivo. |
output
|
string, Label o path; el valor predeterminado es la ruta de acceso '' al archivo de salida, en relación con el directorio del repositorio. |
sha256
|
El valor predeterminado es '' el hash SHA-256 esperado del archivo descargado. Debe coincidir con el hash SHA-256 del archivo descargado. Omitir el SHA-256 es un riesgo de seguridad, ya que los archivos remotos pueden cambiar. En el mejor de los casos, omitir este campo hará que tu compilación no sea hermética. Es opcional para facilitar el desarrollo, pero debe configurarse antes del envío. |
executable
|
El valor predeterminado es False Establece la marca ejecutable en el archivo creado, que es falsa de forma predeterminada. |
allow_fail
|
el valor predeterminado es False .Si se establece, indica el error en el valor que se muestra en lugar de generar un error para las descargas con errores. |
canonical_id
|
El valor predeterminado es '' Si se establece, restringe los hits de caché a los casos en los que el archivo se agregó a la caché con el mismo ID canónico. |
auth
|
el valor predeterminado es {} Es un diccionario opcional que especifica la información de autenticación para algunas de las URLs. |
integrity
|
El valor predeterminado es '' Es la suma de comprobación esperada del archivo descargado, en formato de integridad de subrecursos. Debe coincidir con la suma de comprobación del archivo descargado. Omitir la suma de comprobación es un riesgo de seguridad, ya que los archivos remotos pueden cambiar. En el mejor de los casos, omitir este campo hará que tu compilación no sea hermética. Es opcional para facilitar el desarrollo, pero debe configurarse antes del envío. |
download_and_extract
struct repository_ctx.download_and_extract(url, output='', sha256='', type='', stripPrefix='', allow_fail=False, canonical_id='', auth={}, *, integrity='', rename_files={})
success
, una marca que es true
si la descarga se completó correctamente y, si es así, un hash del archivo con los campos sha256
y integrity
.
Parámetros
Parámetro | Descripción |
---|---|
url
|
cadena; o iterable de cadenas;
obligatorio Es una lista de URLs de espejo que hacen referencia al mismo archivo. |
output
|
string, Label o path; el valor predeterminado es la ruta de acceso '' al directorio donde se descomprimirá el archivo, en relación con el directorio del repositorio. |
sha256
|
el valor predeterminado es '' el hash SHA-256 esperado del archivo descargado. Debe coincidir con el hash SHA-256 del archivo descargado. Omitir el SHA-256 representa un riesgo de seguridad, ya que pueden cambiar los archivos remotos. En el mejor de los casos, omitir este campo hará que tu compilación no sea hermética. Es opcional para facilitar el desarrollo, pero debe configurarse antes del envío. Si se proporciona, primero se verificará la caché del repositorio en busca de un archivo con el hash determinado. Solo se intentará una descarga si no se encuentra el archivo en la caché. Después de una descarga correcta, el archivo se agregará a la caché. |
type
|
el valor predeterminado es '' , que corresponde al tipo de archivo descargado. De forma predeterminada, el tipo de archivo se determina a partir de la extensión de archivo de la URL. Si el archivo no tiene extensión, puedes especificar explícitamente “zip”, “jar”, “war”, “aar”, “tar”, “tar.gz”, “tgz”, “tar.xz”, “txz”, “.tar.zst”, “.tzst”, “tar.bz2”, “.tbz”, “.ar” o “.deb” aquí. |
stripPrefix
|
El valor predeterminado es '' , un prefijo de directorio para quitar de los archivos extraídos. Muchos archivos contienen un directorio de nivel superior que contiene todos los archivos del archivo. En lugar de necesitar especificar este prefijo una y otra vez en build_file , se puede usar este campo para quitarlo de los archivos extraídos.
|
allow_fail
|
el valor predeterminado es False .Si se establece, indica el error en el valor que se muestra en lugar de generar un error para las descargas con errores. |
canonical_id
|
El valor predeterminado es '' Si se establece, restringe los hits de caché a los casos en los que el archivo se agregó a la caché con el mismo ID canónico. |
auth
|
el valor predeterminado es {} Es un diccionario opcional que especifica la información de autenticación para algunas de las URLs. |
integrity
|
El valor predeterminado es '' Es la suma de comprobación esperada del archivo descargado, en formato de integridad de subrecursos. Debe coincidir con la suma de comprobación del archivo descargado. Omitir la suma de comprobación es un riesgo de seguridad, ya que los archivos remotos pueden cambiar. En el mejor de los casos, omitir este campo hará que tu compilación no sea hermética. Es opcional para facilitar el desarrollo, pero debe configurarse antes del envío. |
rename_files
|
El valor predeterminado es {} Un diccionario opcional que especifica los archivos a los que se les cambiará el nombre durante la extracción. Los nombres de las entradas de archivo que coincidan exactamente con una clave se cambiarán al valor antes de cualquier ajuste de prefijo de directorio. Se puede usar para extraer archivos que contengan nombres de archivo que no sean Unicode o que tengan archivos que se extraigan en la misma ruta de acceso en sistemas de archivos que no distinguen mayúsculas de minúsculas. |
ejecutar
exec_result repository_ctx.execute(arguments, timeout=600, environment={}, quiet=True, working_directory="")
timeout
(en segundos, el valor predeterminado es 600 segundos). Este método muestra una estructura exec_result
que contiene el resultado del comando. El mapa environment
se puede usar para anular algunas variables de entorno que se pasarán al proceso.
Parámetros
Parámetro | Descripción |
---|---|
arguments
|
obligatorio Es una lista de argumentos, el primer elemento debe ser la ruta de acceso al programa que se ejecutará. |
timeout
|
El valor predeterminado es 600 La duración máxima del comando en segundos (el valor predeterminado es de 600 segundos). |
environment
|
El valor predeterminado es {} fuerza la configuración de algunas variables de entorno para que se pasen al proceso. |
quiet
|
El valor predeterminado es True . Si stdout y stderr se deben imprimir en la terminal. |
working_directory
|
El valor predeterminado es "" Directorio de trabajo para la ejecución del comando. Puede ser relativa a la raíz del repositorio o absoluta. |
extract
None
repository_ctx.extract(archive, output='', stripPrefix='', *, rename_files={})
Parámetros
Parámetro | Descripción |
---|---|
archive
|
cadena, etiqueta o ruta de acceso;
obligatoria ruta de acceso al archivo que se descomprimirá, en relación con el directorio del repositorio |
output
|
cadena, etiqueta o ruta;
el valor predeterminado es '' ; es la ruta de acceso al directorio en el que se descomprimirá el archivo, en relación con el directorio del repositorio. |
stripPrefix
|
El valor predeterminado es '' , un prefijo de directorio para quitar de los archivos extraídos. Muchos archivos contienen un directorio de nivel superior que contiene todos los archivos del archivo. En lugar de tener que especificar este prefijo una y otra vez en build_file , este campo se puede usar para quitarlo de los archivos extraídos.
|
rename_files
|
El valor predeterminado es {} Un diccionario opcional que especifica los archivos a los que se les cambiará el nombre durante la extracción. Los nombres de las entradas de archivo que coincidan exactamente con una clave se cambiarán al valor antes de cualquier ajuste de prefijo de directorio. Se puede usar para extraer archivos que contengan nombres de archivo que no sean Unicode o que tengan archivos que se extraigan en la misma ruta de acceso en sistemas de archivos que no distinguen mayúsculas de minúsculas. |
archivo
None
repository_ctx.file(path, content='', executable=True, legacy_utf8=True)
Parámetros
Parámetro | Descripción |
---|---|
path
|
cadena, etiqueta o ruta de acceso;
obligatoria Es la ruta de acceso del archivo que se creará, en relación con el directorio del repositorio. |
content
|
El valor predeterminado es '' el contenido del archivo que se creará, vacío de forma predeterminada. |
executable
|
El valor predeterminado es True Establece la marca ejecutable en el archivo creado, que es verdadera de forma predeterminada. |
legacy_utf8
|
El valor predeterminado es True , que codifica el contenido del archivo en UTF-8, verdadero de forma predeterminada. Las versiones futuras cambiarán el valor predeterminado y quitarán este parámetro. |
nombre
string repository_ctx.name
os
repository_os repository_ctx.os
patch
None
repository_ctx.patch(patch_file, strip=0)
Parámetros
Parámetro | Descripción |
---|---|
patch_file
|
cadena, etiqueta o ruta;
obligatorio Es el archivo de parche que se aplicará. Puede ser una etiqueta, una ruta de acceso relativa o una absoluta. Si es una ruta de acceso relativa, se resolverá en el directorio del repositorio. |
strip
|
El valor predeterminado es 0 quita la cantidad especificada de componentes iniciales de los nombres de archivo. |
ruta de acceso
path repository_ctx.path(path)
Parámetros
Parámetro | Descripción |
---|---|
path
|
cadena, etiqueta o ruta;
obligatorio cadena, etiqueta o ruta desde la que se creará una ruta |
read
string repository_ctx.read(path)
Parámetros
Parámetro | Descripción |
---|---|
path
|
cadena, etiqueta o ruta;
obligatoria ruta de acceso del archivo del que se leerá. |
report_progress
None
repository_ctx.report_progress(status='')
Parámetros
Parámetro | Descripción |
---|---|
status
|
string; el valor predeterminado es una cadena '' que describe el estado actual del progreso de la recuperación |
symlink
None
repository_ctx.symlink(target, link_name)
Parámetros
Parámetro | Descripción |
---|---|
target
|
cadena, etiqueta o ruta;
obligatorio Es la ruta a la que debe apuntar el symlink. |
link_name
|
string, Label o path obligatoria Corresponde a la ruta de acceso del symlink que se creará, en relación con el directorio del repositorio. |
plantilla
None
repository_ctx.template(path, template, substitutions={}, executable=True)
template
. Cada ocurrencia en template
de una clave de substitutions
se reemplazará por el valor correspondiente. El resultado se escribe en path
. Se puede configurar un argumento executable
opcional (predeterminado como verdadero) para activar o desactivar el bit ejecutable.
Parámetros
Parámetro | Descripción |
---|---|
path
|
cadena, etiqueta o ruta de acceso;
obligatoria Es la ruta de acceso del archivo que se creará, en relación con el directorio del repositorio. |
template
|
cadena, etiqueta o ruta;
obligatoria ruta de acceso al archivo de plantilla. |
substitutions
|
El valor predeterminado es {} las sustituciones que se deben realizar cuando se expande la plantilla. |
executable
|
el valor predeterminado es True . Establece la marca ejecutable en el archivo creado. Este valor es verdadero de forma predeterminada. |
cuál
path repository_ctx.which(program)
Parámetros
Parámetro | Descripción |
---|---|
program
|
obligatorio Es el programa que se debe encontrar en la ruta. |
None
.
workspace_root
path repository_ctx.workspace_root