implementation
cuando creas una extensión de módulo.
Miembros
- descargar
- download_and_extract
- ejecutar
- extension_metadata
- archivo
- is_dev_dependency
- modules
- os
- path
- leer
- report_progress
- root_module_has_non_dev_dependency
- que
descargar
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 completó correctamente, 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 duplicadas que hacen referencia al mismo archivo. |
output
|
cadena, Label o ruta de acceso;
el valor predeterminado es '' ruta de acceso al archivo de salida, relativa al 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, si omites este campo, tu compilación no será hermética. Es opcional para facilitar el desarrollo, pero se debe configurar antes del envío. |
executable
|
El valor predeterminado es False . Establece la marca de ejecución en el archivo creado. El valor predeterminado es falso. |
allow_fail
|
El valor predeterminado es False . Si se configura, indica el error en el valor de devolución 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 agregó a la caché con el mismo ID canónico. |
auth
|
El valor predeterminado es {} . Es un diccionario opcional que especifica 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 Subresource Integrity. Debe coincidir con la suma de verificación del archivo descargado. Omitir la suma de verificación es un riesgo de seguridad, ya que los archivos remotos pueden cambiar. En el mejor de los casos, si omites este campo, tu compilación no será hermética. Es opcional para 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 que es true
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
|
cadena o iterable de cadenas; obligatorio Es una lista de URLs duplicadas que hacen referencia al mismo archivo. |
output
|
cadena, Label o ruta de acceso; el valor predeterminado es '' ruta de acceso al directorio en el que se descomprimirá el archivo, relativa al 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, si omites este campo, tu 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 verificará la caché del repositorio para ver si hay 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 exitosa, el archivo se agregará a la caché. |
type
|
El valor predeterminado es '' . Es el tipo de archivo del archivo descargado. De forma predeterminada, el tipo de archivo se determina a partir de la extensión del 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 que se quitará de los archivos extraídos. Muchos archivos contienen un directorio de nivel superior que incluye todos los archivos del archivo. En lugar de tener que especificar este prefijo una y otra vez en el build_file , este campo se puede usar para quitarlo de los archivos extraídos.
|
allow_fail
|
El valor predeterminado es False . Si se configura, indica el error en el valor de devolución 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 agregó a la caché con el mismo ID canónico. |
auth
|
El valor predeterminado es {} . Es un diccionario opcional que especifica 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 Subresource Integrity. Debe coincidir con la suma de verificación del archivo descargado. Omitir la suma de verificación es un riesgo de seguridad, ya que los archivos remotos pueden cambiar. En el mejor de los casos, si omites este campo, tu compilación no será hermética. Es opcional para facilitar el desarrollo, pero se debe configurar antes del envío. |
rename_files
|
El valor predeterminado es {} . Es un diccionario opcional que especifica los archivos a los que se les cambiará el nombre durante la extracción. Las entradas del archivo con nombres que coincidan exactamente con una clave se cambiarán al valor antes de cualquier ajuste del prefijo del directorio. Se puede usar para extraer archivos que contienen nombres de archivo no Unicode o que tienen 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, 600 segundos de forma predeterminada). Este método devuelve 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 . Duración máxima del comando en segundos (el valor predeterminado es de 600 segundos). |
environment
|
El valor predeterminado es {} . Fuerza el establecimiento de algunas variables de entorno para que se pasen al proceso. |
quiet
|
El valor predeterminado es True . Indica si se deben imprimir stdout y stderr en la terminal. |
working_directory
|
El valor predeterminado es "" . Directorio de trabajo para la ejecución de comandos. Puede ser relativa a la raíz del repositorio o absoluta. |
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
|
sequence de strings, string o None ;
El valor predeterminado 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 repositorios 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 uno de los campos Se puede establecer exactamente uno de |
root_module_direct_dev_deps
|
sequence de strings, string o None ;
el valor predeterminado es None Son los nombres de los repositorios que la extensión considera que son dependencias de desarrollo directas del módulo raíz. Si el módulo raíz importa repositorios adicionales o no importa todos estos repositorios 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 uno de los campos Se puede establecer exactamente uno de |
archivo
None
module_ctx.file(path, content='', executable=True, legacy_utf8=True)
Parámetros
Parámetro | Descripción |
---|---|
path
|
cadena, Label o ruta de acceso;
obligatorio ruta de acceso del archivo que se creará, relativa al directorio del repositorio. |
content
|
El valor predeterminado es '' . Es el contenido del archivo que se creará. De forma predeterminada, está vacío. |
executable
|
El valor predeterminado es True . Establece la marca de ejecución en el archivo creado. El valor predeterminado es verdadero. |
legacy_utf8
|
El valor predeterminado es True . Codifica el contenido del archivo en UTF-8. El valor predeterminado es verdadero. Las próximas versiones 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;
required Es 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, Label o path;
obligatorio cadena, etiqueta o ruta desde la que se creará una ruta |
read
string module_ctx.read(path)
Parámetros
Parámetro | Descripción |
---|---|
path
|
cadena, Label o ruta;
obligatorio 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 que se buscará en la ruta de acceso. |
None
.