repositorio_ctx

Denuncia un problema Ver fuente Nightly · 7.4 . 7.3 · 7.2 · 7.1 · 7.0 · 6.5

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

struct repository_ctx.attr

Una struct para acceder a los valores de los atributos. El usuario proporciona los valores (de lo contrario, se usa un valor predeterminado).

delete

bool repository_ctx.delete(path)

Borra un archivo o un directorio. Muestra un valor booleano que indica si esta llamada borró el archivo o directorio.

Parámetros

Parámetro Descripción
path cadena o ruta; obligatorio
Es la ruta de acceso del archivo que se borrará, en relación con el directorio del repositorio o de forma absoluta. Puede ser una ruta de acceso o una cadena.

descargar

unknown repository_ctx.download(url, output='', sha256='', executable=False, allow_fail=False, canonical_id='', auth={}, headers={}, *, integrity='', block=True)

Descarga un archivo en la ruta de acceso de salida de la URL proporcionada y muestra una estructura que contiene 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 cadena, etiqueta o ruta; el valor predeterminado es ''
; 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 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 fallidas.
canonical_id el valor predeterminado es ''
Si se configura, restringe los aciertos de caché a aquellos casos en los que el archivo se haya agregado a la caché con el mismo ID canónico
auth el valor predeterminado es {}
Un diccionario opcional que especifica la información de autenticación para algunas de las URL.
headers El valor predeterminado es {}
Es un diccionario opcional que especifica encabezados HTTP para todas 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 facilitar el desarrollo, pero se debe configurar antes del envío.
block el valor predeterminado es True
Si se establece como false, la llamada muestra inmediatamente y, en lugar del valor normal que se muestra, muestra un token con un solo método, wait(), que se bloquea hasta que finaliza la descarga y muestra el valor de retorno habitual o arroja como de costumbre.

download_and_extract

struct repository_ctx.download_and_extract(url, output='', sha256='', type='', stripPrefix='', allow_fail=False, canonical_id='', auth={}, headers={}, *, integrity='', rename_files={})

Descarga un archivo en la ruta de acceso de salida de la URL proporcionada, lo extrae y muestra una estructura que contiene 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; o Etiqueta; o path; la configuración predeterminada 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á realizar una descarga si el archivo no se encuentra en la caché. Después de una descarga correcta, el archivo se agregará a la caché.
type el valor predeterminado es ''
el tipo de archivo del 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 de forma explícita "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 en el 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 configura, 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 configura, restringe los aciertos de caché a aquellos casos en los que el archivo se haya agregado a la caché con el mismo ID canónico
auth el valor predeterminado es {}
Un diccionario opcional que especifica la información de autenticación para algunas de las URL.
headers El valor predeterminado es {}
Es un diccionario opcional que especifica encabezados HTTP para todas las URLs.
integrity el valor predeterminado es ''
Suma de comprobación esperada del archivo descargado, en formato de integridad de los subrecursos. Debe coincidir con la suma de comprobación del archivo descargado. Omitir la suma de comprobación 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 facilitar el desarrollo, pero se debe configurar 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. Se cambiará el nombre de las entradas de archivo con nombres que coincidan exactamente con una clave por el valor, antes de cualquier ajuste del prefijo del directorio. Se puede usar para extraer archivos que contengan nombres que no sean Unicode o que tengan archivos que se extraerían 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="")

Ejecuta el comando que se proporciona en la lista de argumentos. El tiempo de ejecución del comando está limitado por timeout (en segundos, el valor predeterminado es de 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 600 segundos).
environment el valor predeterminado es {}
fuerce 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 absoluta o relativa a la raíz del repositorio.

extract

None repository_ctx.extract(archive, output='', stripPrefix='', *, rename_files={}, watch_archive='auto')

Extrae un archivo en el directorio del repositorio.

Parámetros

Parámetro Descripción
archive string; o Etiqueta; o path; obligatorio
ruta de acceso al archivo que se desempaquetará, 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 necesitar especificar este prefijo una y otra vez en build_file, se puede usar este campo 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 que no sean Unicode o que tengan archivos que se extraerían en la misma ruta de acceso en sistemas de archivos que no distinguen mayúsculas de minúsculas.
watch_archive El valor predeterminado es 'auto'
para indicar si se debe supervisar el archivo de almacenamiento. Puede ser la cadena "yes", "no" o "auto". Pasar "yes" equivale a invocar inmediatamente el método watch(). Pasar "no" no intenta supervisar el archivo. Pasar "auto" solo intentará supervisar el archivo cuando sea legal hacerlo (consulta la documentación de watch() para obtener más información).

archivo

None repository_ctx.file(path, content='', executable=True, legacy_utf8=True)

Genera un archivo en el directorio del repositorio con el contenido proporcionado.

Parámetros

Parámetro Descripción
path string; o Etiqueta; o path; obligatorio
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.

getenv

string repository_ctx.getenv(name, default=None)

Muestra el valor de una variable de entorno name como una cadena si existe, o default si no existe.

Cuando se compila de forma incremental, cualquier cambio en el valor de la variable que nombre name hará que se vuelva a recuperar este repositorio.

Parámetros

Parámetro Descripción
name string; obligatorio
nombre de la variable de entorno deseada
default string; o None; el valor predeterminado es None
Valor predeterminado que se muestra si no se encuentra el argumento "nombre"
Puede mostrar None.

nombre

string repository_ctx.name

Es el nombre del repositorio externo que crea esta regla.

os

repository_os repository_ctx.os

Es una estructura para acceder a la información del sistema.

patch

None repository_ctx.patch(patch_file, strip=0, *, watch_patch='auto')

Aplica un archivo de parche al directorio raíz del repositorio externo. El archivo de parche debe ser un archivo estándar de formato de diferencias unificadas. La implementación del parche nativo de Bazel no admite la coincidencia de fuzz ni el parche binario, como la herramienta de línea de comandos del parche.

Parámetros

Parámetro Descripción
patch_file string; o Etiqueta; o path; obligatorio
El archivo de parche que se aplicará, puede ser una etiqueta, una ruta relativa o una ruta 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.
watch_patch el valor predeterminado es 'auto'
si quieres mirar el archivo de parche. Puede ser "sí", "no" o "automático". Cómo pasar "sí" equivale a invocar inmediatamente el método watch(). pasar un “no” no intenta visualizar el archivo; pasando "auto" solo intentará mirar el archivo cuando sea legal hacerlo (consulta la documentación de watch() para obtener más información.

ruta de acceso

path repository_ctx.path(path)

Muestra una ruta de acceso a partir de una cadena, etiqueta o ruta. Si la ruta es relativa, se resolverá en relación con el directorio del repositorio. Si la ruta es una etiqueta, se resolverá en la ruta del archivo correspondiente. Ten en cuenta que los repositorios remotos se ejecutan durante la fase de análisis y, por lo tanto, no pueden depender de un resultado objetivo (la etiqueta debe apuntar a un archivo no generado). Si la ruta es una ruta de acceso, la mostrará tal como es.

Parámetros

Parámetro Descripción
path string; o Etiqueta; o path; obligatorio
la cadena, la etiqueta o la ruta desde la que se crea una ruta

read

string repository_ctx.read(path, *, watch='auto')

Lee el contenido de un archivo en el sistema de archivos.

Parámetros

Parámetro Descripción
path cadena, etiqueta o ruta; obligatoria
ruta de acceso del archivo del que se leerá.
watch el valor predeterminado es 'auto'
si quieres mirar el archivo. Puede ser la cadena "yes", "no" o "auto". Pasar "yes" equivale a invocar inmediatamente el método watch(). Pasar "no" no intenta supervisar el archivo. Pasar "auto" solo intentará supervisar el archivo cuando sea legal hacerlo (consulta la documentación de watch() para obtener más información).

report_progress

None repository_ctx.report_progress(status='')

Actualiza el estado de progreso de la recuperación de la extensión de este repositorio o módulo

Parámetros

Parámetro Descripción
status string; el valor predeterminado es ''
Cadena que describe el estado actual del progreso de la recuperación

None repository_ctx.symlink(target, link_name)

Crea un symlink en el sistema de archivos.

Parámetros

Parámetro Descripción
target string; o Etiqueta; o path; obligatorio
La ruta de acceso a la que debe apuntar el symlink.
cadena, etiqueta o ruta; obligatorio
Es la ruta de acceso del symlink que se creará.

plantilla

None repository_ctx.template(path, template, substitutions={}, executable=True, *, watch_template='auto')

Genera un archivo nuevo con un 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; obligatorio
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 (true) de forma predeterminada.
watch_template El valor predeterminado es 'auto'
para indicar si se debe supervisar el archivo de plantilla. Puede ser la cadena "yes", "no" o "auto". Pasar "yes" equivale a invocar inmediatamente el método watch(). Pasar "no" no intenta supervisar el archivo. Pasar "auto" solo intentará supervisar el archivo cuando sea legal hacerlo (consulta la documentación de watch() para obtener más información).

reloj

None repository_ctx.watch(path)

Le indica a Bazel que vigile los cambios en la ruta de acceso determinada, ya sea que exista o no, o si es un archivo o un directorio. Cualquier cambio en el archivo o directorio invalidará la extensión de este repositorio o módulo, y hará que se recupere o se vuelva a evaluar la próxima vez.

Los "Cambios" incluyen cambios en el contenido del archivo (si la ruta de acceso es un archivo), si la ruta de acceso era un archivo, pero ahora es un directorio, o viceversa, y si la ruta de acceso comienza o deja de existir. En particular, esto no incluye cambios en los archivos del directorio si la ruta es un directorio. Para hacerlo, usa path.readdir().

Ten en cuenta que, si intentas supervisar las rutas de acceso dentro del repositorio que se está recuperando o dentro del directorio de trabajo de la extensión del módulo actual, se producirá un error. Una extensión de módulo que intente supervisar una ruta de acceso fuera del lugar de trabajo de Bazel actual también generará un error.

Parámetros

Parámetro Descripción
path cadena, etiqueta o ruta; obligatoria
ruta del archivo que se supervisará.

watch_tree

None repository_ctx.watch_tree(path)

Le indica a Bazel que detecte cambios en cualquier archivo o directorio de forma transitiva en la ruta de acceso determinada. Cualquier cambio en el contenido de los archivos, la existencia de archivos o directorios, o los nombres de archivos o directorios, hará que se vuelva a recuperar este repo.

Ten en cuenta que, si intentas supervisar las rutas de acceso dentro del repositorio que se está recuperando, se generará un error.

Parámetros

Parámetro Descripción
path cadena, etiqueta o ruta; obligatoria
ruta del árbol de directorios que se va a supervisar.

cuál

path repository_ctx.which(program)

Muestra la ruta de acceso del programa correspondiente o None si no hay tal programa en la ruta.

Parámetros

Parámetro Descripción
program obligatorio
Es el programa que se debe encontrar en la ruta.
Puede mostrar None.

workspace_root

path repository_ctx.workspace_root

La ruta de acceso al lugar de trabajo raíz de la invocación de Bazel.