repositorio_ctx

El contexto de la regla del repositorio que contiene información sobre los atributos y funciones auxiliares. Cuando creas una regla de repositorio, obtienes un objeto warehouse_ctx como un argumento para la función implementation.

Miembros

Atribución

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).

borrar

bool repository_ctx.delete(path)

Borra un archivo o directorio. Muestra un bool, que indica si esta llamada borró el archivo o directorio.

Parámetros

Parámetro Descripción
path string; or path (obligatorio)
Es la ruta de acceso del archivo que se borrará, relativa al directorio del repositorio o absoluto. Puede ser una ruta de acceso o una string.

download

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

Descarga un archivo en la ruta de salida de la URL proporcionada y muestra una estructura que contiene success, una marca que tiene el valor true si la descarga se completó correctamente y, si se realiza correctamente, un hash del archivo con los campos sha256 y integrity.

Parámetros

Parámetro Descripción
url string; or Iterable of strings; obligatorio
Lista de URLs duplicadas que hacen referencia al mismo archivo.
output string; or Label; or path; default = ''
ruta de acceso al archivo de salida, en relación con el directorio del repositorio.
sha256 default = ''
el hash SHA-256 esperado del archivo descargado. Este debe coincidir con el hash SHA-256 del archivo descargado. Omitir el SHA-256 representa un riesgo de seguridad, ya que los archivos remotos pueden cambiar. En el mejor de los casos, si omites este campo, la compilación no será hermética. Es opcional para facilitar el desarrollo, pero se debe configurar antes del envío.
executable default = False
Configura la marca ejecutable en el archivo creado, false de forma predeterminada.
allow_fail default = 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 default = ''
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 default = {}
Un diccionario opcional que especifica información de autenticación para algunas de las URL.
integrity default = ''
Suma de verificación esperada del archivo descargado, en formato de integridad de subrecursos. Debe coincidir con la suma de verificación del archivo descargado. Es un riesgo de seguridad omitir la suma de verificación, ya que los archivos remotos pueden cambiar. En el mejor de los casos, si omites este campo, la compilación no será hermética. Es opcional para facilitar el desarrollo, pero se debe configurar 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={})

Descarga un archivo en la ruta de salida de la URL proporcionada, lo extrae y muestra una estructura que contiene success, una marca true si la descarga se completó correctamente y, si se realiza correctamente, un hash del archivo con los campos sha256 y integrity.

Parámetros

Parámetro Descripción
url string; or Iterable of strings; obligatorio
Lista de URLs duplicadas que hacen referencia al mismo archivo.
output string; or Label; or path; default = ''
Ruta de acceso al directorio donde se descomprimirá el archivo, en relación con el directorio del repositorio.
sha256 default = ''
el hash SHA-256 esperado del archivo descargado. Este debe coincidir con el hash SHA-256 del archivo descargado. Omitir el SHA-256 representa un riesgo de seguridad, ya que los archivos remotos pueden cambiar. En el mejor de los casos, si omites este campo, la compilación no será hermética. Es opcional para facilitar el desarrollo, pero se debe configurar antes del envío. Si se proporciona, primero se buscará en la caché del repositorio un archivo con el hash especificado. Solo se intentará realizar una descarga si no se encontró el archivo en la caché. Si la descarga se realiza correctamente, se agregará el archivo a la caché.
type default = ''
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 explícitamente “zip”, “jar”, “war”, “aar”, “tar”, “tar.gz”, “tgz”, “tar.xz”, “txz”, “.tar.zst”, “.tzst”, “tar.bz2”, “.ar” o “.deb” aquí.
stripPrefix default = ''
un prefijo de directorio para quitar de los archivos extraídos. Muchos archivos contienen un directorio de nivel superior que incluye todos los archivos en el archivo. En lugar de tener que especificar este prefijo una y otra vez en el archivo build_file, se puede usar el campo para quitarlo de los archivos extraídos.
allow_fail default = 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 default = ''
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 default = {}
Un diccionario opcional que especifica información de autenticación para algunas de las URL.
integrity default = ''
Suma de verificación esperada del archivo descargado, en formato de integridad de subrecursos. Debe coincidir con la suma de verificación del archivo descargado. Es un riesgo de seguridad omitir la suma de verificación, ya que los archivos remotos pueden cambiar. En el mejor de los casos, si omites este campo, la compilación no será hermética. Es opcional para facilitar el desarrollo, pero se debe configurar antes del envío.
rename_files default = {}
Un dict opcional que especifica los archivos a los que se les cambiará el nombre durante la extracción. Las entradas de archivo con nombres que coincidan exactamente con una clave se renombrarán por el valor, antes de cualquier ajuste de prefijo del directorio. Se puede usar para extraer archivos que contengan nombres que no sean Unicode o que tengan archivos que se extraen a la misma ruta en sistemas de archivos que no distinguen mayúsculas de minúsculas.

execute

exec_result repository_ctx.execute(arguments, timeout=600, environment={}, quiet=True, working_directory="")

Ejecuta el comando proporcionado por la lista de argumentos. El tiempo de ejecución del comando está limitado por timeout (en segundos; 600 segundos de forma predeterminada). 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 required
Lista de argumentos; el primer elemento debe ser la ruta de acceso al programa que se ejecutará.
timeout predeterminado = 600
duración máxima del comando en segundos (el valor predeterminado es 600 segundos).
environment default = {}
fuerza la configuración de algunas variables de entorno para que se pasen al proceso.
quiet default = True
Si se deben imprimir stdout y stderr en la terminal.
working_directory default = ""
Directorio de trabajo para la ejecución del comando. Puede ser relativo a la raíz del repositorio o al valor absoluto.

extract

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

Extrae un archivo en el directorio del repositorio.

Parámetros

Parámetro Descripción
archive string; or Label; or path; es la ruta de acceso
obligatoria al archivo que se desempaquetará, en relación con el directorio del repositorio.
output string; or Label; or path; default = ''
Ruta de acceso al directorio donde se descomprimirá el archivo, en relación con el directorio del repositorio.
stripPrefix default = ''
un prefijo de directorio para quitar de los archivos extraídos. Muchos archivos contienen un directorio de nivel superior que incluye todos los archivos en el archivo. En lugar de tener que especificar este prefijo una y otra vez en el archivo build_file, se puede usar el campo para quitarlo de los archivos extraídos.
rename_files default = {}
Un dict opcional que especifica los archivos a los que se les cambiará el nombre durante la extracción. Las entradas de archivo con nombres que coincidan exactamente con una clave se renombrarán por el valor, antes de cualquier ajuste de prefijo del directorio. Se puede usar para extraer archivos que contengan nombres que no sean Unicode o que tengan archivos que se extraen a la misma ruta en sistemas de archivos que no distinguen mayúsculas de minúsculas.

en el 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; or Label; or path: Es la ruta de acceso
obligatoria del archivo que se creará, en relación con el directorio del repositorio.
content default = ''
el contenido del archivo que se creará; está vacío de forma predeterminada.
executable default = True
Configura la marca ejecutable en el archivo creado, verdadera de forma predeterminada.
legacy_utf8 default = True
codificar el contenido del archivo en UTF-8, verdadero de forma predeterminada. Las versiones futuras cambiarán la configuración predeterminada y quitarán este parámetro.

name

string repository_ctx.name

El nombre del repositorio externo que se creó con esta regla.

os

repository_os repository_ctx.os

struct para acceder a información del sistema.

patch

None repository_ctx.patch(patch_file, strip=0)

Aplica un archivo de parche al directorio raíz del repositorio externo. El archivo de parche debe ser un archivo estándar en formato unificado de diferencias. La implementación del parche nativo de Bazel no admite coincidencias de fuzz ni parches binarios como la herramienta de línea de comandos de parche.

Parámetros

Parámetro Descripción
patch_file string; or Label; or path (obligatorio)
El archivo de parche que se debe aplicar puede ser una etiqueta, una ruta de acceso relativa o una ruta absoluta. Si es una ruta relativa, se resolverá en el directorio del repositorio.
strip default = 0
Quita el número especificado de componentes principales de los nombres de archivos.

ruta de acceso

path repository_ctx.path(path)

Muestra una ruta de acceso de una string, etiqueta o ruta de acceso. Si la ruta es relativa, se resolverá en relación con el directorio del repositorio. Si la ruta de acceso 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, la mostrará tal como está.

Parámetros

Parámetro Descripción
path string; or Label; or path:
cadena, etiqueta o ruta obligatoria a partir de la cual se crea la ruta

read

string repository_ctx.read(path)

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

Parámetros

Parámetro Descripción
path string; or Label; or path; es la ruta de acceso
obligatoria del archivo desde el que se leerá.

report_progress

None repository_ctx.report_progress(status='')

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

Parámetros

Parámetro Descripción
status string; default = ''
string 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; or Label; or path (obligatorio)
La ruta de acceso a la que debe apuntar el symlink.
string; or Label; or path; obligatorio
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)

Genera un archivo nuevo con un template. Cada caso 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 (el valor predeterminado es verdadero) para activar o desactivar el bit ejecutable.

Parámetros

Parámetro Descripción
path string; or Label; or path: Es la ruta de acceso
obligatoria del archivo que se creará, en relación con el directorio del repositorio.
template string; or Label; or path; es la ruta de acceso
obligatoria al archivo de plantilla.
substitutions default = {}
sustituciones que se realizarán al expandir la plantilla.
executable default = True
Configura la marca ejecutable en el archivo creado, verdadera de forma predeterminada.

cuál

path repository_ctx.which(program)

Muestra la ruta de acceso del programa correspondiente o None si no existe ese programa en la ruta.

Parámetros

Parámetro Descripción
program obligatorio
Programa para encontrar en la ruta.
Puede devolver None.

workspace_root

path repository_ctx.workspace_root

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