módulo_ctx

Informa un problema Ver la fuente

El contexto de la extensión del módulo que contiene funciones auxiliares y la información sobre etiquetas pertinentes en el gráfico de dependencias Obtienes un objeto module_ctx como argumento de la función implementation cuando creas una extensión de módulo.

Miembros

descarga

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

Descarga un archivo en la ruta de salida para la URL proporcionada y muestra un struct que contiene success, una marca true que se muestra si la descarga se completó correctamente y, si se completó 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, relativa al directorio del repositorio.
sha256 default = ''
el hash SHA-256 esperado del archivo descargado. Debe coincidir con el hash SHA-256 del archivo descargado. Omitir el SHA-256 puede representar 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 default = False
Establece la marca ejecutable en el archivo creado; false de forma predeterminada.
allow_fail default = False
Si se establece, indica el error en el valor de retorno en lugar de generar un error para las descargas con errores.
canonical_id default = ''
Si se establece, restringe los aciertos de caché a aquellos casos en los que se agregó el archivo 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 comprobació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, 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.

descargar_y_extraer

struct module_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 acceso de salida para la URL proporcionada, lo extrae y muestra un struct que contiene success, una marca que es true si la descarga se completó correctamente, y si se ejecuta 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 en el que se descomprimirá el archivo en relación con el directorio del repositorio.
sha256 default = ''
el hash SHA-256 esperado del archivo descargado. Debe coincidir con el hash SHA-256 del archivo descargado. Omitir el SHA-256 puede representar 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. Si se proporciona, primero se buscará un archivo con el hash en la caché del repositorio. Solo se intentará la descarga si no se encontró el archivo en la caché. Después de que la descarga se complete correctamente, el archivo se agregará a la caché.
type default = ''
el tipo de archivo descargado. De forma predeterminada, el tipo de archivo se determina a partir de la extensión del archivo 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".
stripPrefix default = ''
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, se puede usar este campo para quitarlo de los archivos extraídos.
allow_fail default = False
Si se establece, indica el error en el valor de retorno en lugar de generar un error para las descargas con errores.
canonical_id default = ''
Si se establece, restringe los aciertos de caché a aquellos casos en los que se agregó el archivo 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 comprobació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, 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 default = {}
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 antes de cualquier ajuste del prefijo del directorio. Esto se puede usar para extraer archivos que contienen nombres de archivos que no son Unicode, o que tienen archivos que podrían extraerse en la misma ruta de acceso en sistemas de archivos que no distinguen entre mayúsculas y minúsculas.

execute

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

Ejecuta el comando que proporciona la lista de argumentos. El tiempo de ejecución del comando está limitado por timeout (en segundos, es de 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 obligatorio
Lista de argumentos. El primer elemento debe ser la ruta de acceso al programa que se debe ejecutar.
timeout default = 600
Es la duración máxima del comando en segundos (el valor predeterminado es 600 segundos).
environment default = {}
fuerzan la configuración de algunas variables de entorno para que se pasen al proceso.
quiet default = True
Si stdout y stderr se deben imprimir 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 absoluto.

en el archivo.

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

is_dev_dependency

bool module_ctx.is_dev_dependency(tag)

Muestra si se especificó la etiqueta determinada en el resultado de una llamada a use_extension con devDependency = True.

Parámetros

Parámetro Descripción
tag bazel_module_tag; obligatorio
Una etiqueta obtenida de bazel_module.tags.

modules

list module_ctx.modules

Una lista de todos los módulos de Bazel en el gráfico de dependencias externas, cada uno de los cuales es un objeto bazel_module que expone todas las etiquetas que especificó para esta extensión del módulo. Se garantiza que el orden de iteración de este diccionario sea el mismo que la búsqueda centrada en el ancho desde el módulo raíz.

os

repository_os module_ctx.os

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

ruta de acceso

path module_ctx.path(path)

Muestra una ruta de acceso de una string, 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 de destino (la etiqueta debe apuntar a un archivo no generado). Si la ruta es una ruta, mostrará esa ruta tal como está.

Parámetros

Parámetro Descripción
path string; or Label; or path; requiere
string, etiqueta o ruta a partir de la cual crear una ruta

read

string module_ctx.read(path)

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

Parámetros

Parámetro Descripción
path Es la ruta de acceso string; or Label; or path del archivo
que se debe leer.

informe_progreso

None module_ctx.report_progress(status='')

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

Parámetros

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

cuál

path module_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 que se buscará en la ruta.
Puede mostrar None.