El contexto de la extensión del módulo que contiene funciones auxiliares e información sobre las etiquetas pertinentes del gráfico de dependencias. Cuando creas una extensión de módulo, obtienes un objeto module_ctx como argumento para la función implementation
.
Miembros
- descargar
- download_and_extract
- ejecutar
- extension_metadata
- archivo
- is_dev_dependency
- modules
- SO
- path
- leer
- report_progress
- root_module_has_non_dev_dependency
- cuál
descarga
struct module_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 se realizó correctamente, 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 '' de salida 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 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. |
executable
|
el valor predeterminado es False establece la marca ejecutable en el archivo creado; es falso de forma predeterminada. |
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. |
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. |
download_and_extract
struct module_ctx.download_and_extract(url, output='', sha256='', type='', stripPrefix='', allow_fail=False, canonical_id='', auth={}, *, integrity='', rename_files={})
success
, una marca true
si la descarga se completó correctamente y, si se realizó correctamente, 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 facilitar el desarrollo, pero se debe configurar 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é. Si la descarga se realiza correctamente, 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 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 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. |
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 dict opcional que especifica los archivos a los que se les debe 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 module_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 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. |
extension_metadata
extension_metadata module_ctx.extension_metadata(root_module_direct_deps=None, root_module_direct_dev_deps=None)
Parámetros
Parámetro | Descripción |
---|---|
root_module_direct_deps
|
secuencia de strings; o string; o None ;
la configuración predeterminada es None Son los nombres de los repositorios que la extensión considera dependencias directas del módulo raíz. Si el módulo raíz importa repositorios adicionales o no importa todos estos a través de use_repo , Bazel imprimirá una advertencia y un comando de corrección cuando se evalúe la extensión.Si se especifica Exactamente uno de los valores |
root_module_direct_dev_deps
|
secuencia de strings; o string; o None ;
la configuración predeterminada es None Los nombres de los repositorios que la extensión considera como dependencias directas del desarrollo del módulo raíz. Si el módulo raíz importa repositorios adicionales o no importa todos estos a través de use_repo en un proxy de extensión creado con use_extension(..., dev_dependency = True) , Bazel imprimirá una advertencia y un comando de corrección cuando se evalúe la extensión.Si se especifica Exactamente uno de los valores |
archivo
None
module_ctx.file(path, content='', executable=True, legacy_utf8=True)
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 (true) de forma predeterminada. |
legacy_utf8
|
el valor predeterminado es True para codificar el contenido del archivo en UTF-8, el valor predeterminado es verdadero. Las versiones futuras cambiarán el valor predeterminado y quitarán este parámetro. |
is_dev_dependency
bool module_ctx.is_dev_dependency(tag)
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
os
repository_os module_ctx.os
ruta de acceso
path module_ctx.path(path)
Parámetros
Parámetro | Descripción |
---|---|
path
|
string; o Etiqueta; o path;
obligatorio cadena, etiqueta o ruta desde la que crear una ruta |
read
string module_ctx.read(path)
Parámetros
Parámetro | Descripción |
---|---|
path
|
string; o Etiqueta; o path;
obligatorio la ruta de acceso del archivo desde el que se leerá. |
report_progress
None
module_ctx.report_progress(status='')
Parámetros
Parámetro | Descripción |
---|---|
status
|
string;
el valor predeterminado es '' Cadena que describe el estado actual del progreso de la recuperación |
root_module_has_non_dev_dependency
bool module_ctx.root_module_has_non_dev_dependency
cuál
path module_ctx.which(program)
Parámetros
Parámetro | Descripción |
---|---|
program
|
obligatorio Programa para encontrar en la ruta. |
None
.