implementation
.
Miembros
- descargar
- download_and_extract
- execute
- extension_metadata
- archivo
- is_dev_dependency
- modules
- os
- path
- leer
- report_progress
- root_module_has_non_dev_dependency
- qué
download
struct module_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 struct que contiene
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; or Iterable of strings ;
obligatorioLista 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. 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, omitir este campo hará que la compilación no sea 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; falso 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 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
|
default = {} Un diccionario opcional que especifica la información de autenticación para algunas de las URLs. |
integrity
|
default = '' Suma de verificación esperada del archivo descargado, en formato de integridad del subrecurso. Debe coincidir con la suma de verificación del archivo descargado. Omitir la suma de comprobación, ya que los archivos remotos pueden cambiar, representa un riesgo de seguridad. En el mejor de los casos, omitir este campo hará que la compilación no sea 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={})Descarga un archivo en la ruta de salida de la URL proporcionada, lo extrae y muestra una struct que contiene
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; or Iterable of strings ;
obligatorioLista de URLs duplicadas que hacen referencia al mismo archivo. |
output
|
string; or Label; or path ;
default = ''Ruta de acceso al directorio donde se descomprime 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 representa un riesgo de seguridad, ya que los archivos remotos pueden cambiar. En el mejor de los casos, omitir este campo hará que la compilación no sea 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 descargado. De forma predeterminada, el tipo de archivo se determina a partir de la extensión 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 contiene todos los elementos 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 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
|
default = {} Un diccionario opcional que especifica la información de autenticación para algunas de las URLs. |
integrity
|
default = '' Suma de verificación esperada del archivo descargado, en formato de integridad del subrecurso. Debe coincidir con la suma de verificación del archivo descargado. Omitir la suma de comprobación, ya que los archivos remotos pueden cambiar, representa un riesgo de seguridad. En el mejor de los casos, omitir este campo hará que la compilación no sea 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 debe cambiar el nombre durante la extracción. Las entradas de archivo con nombres que coinciden exactamente con una clave se renombrarán por el valor, antes de cualquier ajuste de prefijo del directorio. Esto se puede usar para extraer archivos que contengan nombres que no sean Unicode o que tengan archivos que se extraen a la misma ruta de acceso en sistemas de archivos que no distinguen mayúsculas de minúsculas. |
execute
exec_result module_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; 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
|
required Lista de argumentos. El primer elemento debe ser la ruta de acceso al programa que se ejecutará. |
timeout
|
default = 600 la 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 absoluto. |
extension_metadata
extension_metadata module_ctx.extension_metadata(root_module_direct_deps=None, root_module_direct_dev_deps=None)Construye un objeto opaco que se puede mostrar desde la función de implementación de la extensión del módulo para proporcionar metadatos sobre los repositorios generados por la extensión a Bazel.
Parámetros
Parámetro | Descripción |
---|---|
root_module_direct_deps
|
sequence of strings; or string; or None ; predeterminado = Ninguno: Son los nombres de los repositorios que la extensión considera que son 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 mostrará una advertencia y un comando de corrección cuando se evalúe la extensión.Si se especifica uno de Se puede establecer exactamente uno de |
root_module_direct_dev_deps
|
sequence of strings; or string; or None ; default = NoneLos nombres de los repositorios que la extensión considera como dependencias directas de desarrollo 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 mostrará una advertencia y un comando de corrección cuando se evalúe la extensión.Si se especifica uno de Se puede establecer exactamente uno de |
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
|
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á; vacío de forma predeterminada. |
executable
|
default = True configura la marca ejecutable en el archivo creado; true de forma predeterminada. |
legacy_utf8
|
default = True codifica 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. |
is_dev_dependency
bool module_ctx.is_dev_dependency(tag)Muestra si la etiqueta determinada se especificó en el resultado de una llamada use_extension con
devDependency = True
.
Parámetros
Parámetro | Descripción |
---|---|
tag
|
bazel_module_tag ;
requiredUna etiqueta que se obtiene de bazel_module.tags. |
modules
list module_ctx.modulesUna lista de todos los módulos de Bazel en el gráfico de dependencia externa que usan esta extensión de módulo, cada uno de los cuales es un objeto bazel_module que expone todas las etiquetas que especificó para esta extensión. Se garantiza que el orden de iteración de este diccionario sea el mismo que la búsqueda centrada en la amplitud a partir del módulo raíz.
os
repository_os module_ctx.osUna struct para acceder a información desde el sistema.
ruta de acceso
path module_ctx.path(path)Muestra una ruta de acceso a partir de una cadena, etiqueta o ruta de acceso. Si la ruta de acceso 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 de acceso 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, la mostrará tal como está.
Parámetros
Parámetro | Descripción |
---|---|
path
|
string; or Label; or path ;
cadenaobligatoria, etiqueta o ruta de acceso a partir de la cual se crea una ruta |
lectura
string module_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 accesoobligatoria del archivo desde el que se leerá. |
report_progress
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 = ''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_dependencyIndica si el módulo raíz usa esta extensión como una dependencia no de desarrollo.
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 El programa debe buscar en la ruta. |
None
.