implementation
.
Miembros
- atracción
- borrar
- descargar
- download_and_extract
- execute
- extraer
- archivo
- getenv
- name
- os
- patch
- path
- leer
- report_progress
- symlink
- plantilla
- reloj
- watch_tree
- cuál
- workspace_root
atr
struct repository_ctx.attrUna 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 un directorio. Muestra un bool que indica si esta llamada borró realmente el archivo o el directorio.
Parámetros
Parámetro | Descripción |
---|---|
path
|
string o path; requerido Ruta del archivo que se borrará, relativa al directorio del repositorio o absoluta. Puede ser una ruta de acceso o una cadena. |
download
unknown repository_ctx.download(url, output='', sha256='', executable=False, allow_fail=False, canonical_id='', auth={}, headers={}, *, integrity='', block=True)Descarga un archivo en la ruta de salida para 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 o iterable de string; obligatorio Lista de URLs duplicadas que hacen referencia al mismo archivo. |
output
|
string, Label o path; el valor predeterminado es la ruta de acceso '' 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 establece, 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 establece, 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 {} Es un diccionario opcional que especifica la información de autenticación para algunas de las URLs. |
headers
|
el valor predeterminado es {} Es un diccionario opcional que especifica los encabezados HTTP para todas las URLs. |
integrity
|
el valor predeterminado es '' Suma de comprobación esperada del archivo descargado, en formato de integridad de 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. |
block
|
El valor predeterminado es True .Si se establece como falso, la llamada muestra inmediatamente y, en lugar del valor habitual, muestra un token con un solo método, wait(), que se bloquea hasta que finaliza la descarga y muestra el valor de retorno habitual o arroja como de costumbre. |
download_and_extract
struct repository_ctx.download_and_extract(url, output='', sha256='', type='', stripPrefix='', allow_fail=False, canonical_id='', auth={}, headers={}, *, integrity='', rename_files={})Descarga un archivo en la ruta de salida para la URL proporcionada, lo extrae y muestra un 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 o iterable de string; obligatorio Lista de URLs duplicadas que hacen referencia al mismo archivo. |
output
|
string, Label o path; el valor predeterminado 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 '' , que corresponde al tipo de 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 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 establece, 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 establece, 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 {} Es un diccionario opcional que especifica la información de autenticación para algunas de las URLs. |
headers
|
el valor predeterminado es {} Es un diccionario opcional que especifica los encabezados HTTP para todas las URLs. |
integrity
|
el valor predeterminado es '' Suma de comprobación esperada del archivo descargado, en formato de integridad de 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 diccionario 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. |
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, 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
|
requerido Lista de argumentos; el primer elemento debe ser la ruta de acceso al programa que se ejecutará. |
timeout
|
El valor predeterminado es de 600 la duración máxima del comando en segundos (el valor predeterminado es 600 segundos). |
environment
|
El valor predeterminado es {} . Obliga a que se configuren 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. |
extract
None
repository_ctx.extract(archive, output='', stripPrefix='', *, rename_files={}, watch_archive='auto')
Extrae un archivo en el directorio del repositorio.
Parámetros
Parámetro | Descripción |
---|---|
archive
|
string, Label o path obligatoria al archivo que se desempaquetará, en relación con el directorio del repositorio. |
output
|
string, Label o path; el valor predeterminado es la ruta de acceso '' al directorio donde se descomprimirá el archivo, en relación con el directorio del repositorio. |
stripPrefix
|
El valor predeterminado es '' , un prefijo de directorio para quitar 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.
|
rename_files
|
El valor predeterminado es {} Un diccionario 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. |
watch_archive
|
el valor predeterminado es 'auto' si quieres mirar el archivo. Puede ser "sí", "no" o "automático". Pasar "sí" equivale a invocar inmediatamente el método watch() ; pasar "no" no intenta ver el archivo; pasar "auto" solo intentará ver el archivo cuando sea legal hacerlo (consulta la documentación de watch() para obtener más información).
|
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, Label, o path; es la ruta de acceso requerida del archivo que se creará, en relación con el directorio del repositorio. |
content
|
el valor predeterminado es '' , que 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. Este parámetro es verdadero de forma predeterminada. |
legacy_utf8
|
el valor predeterminado es True Codifica el contenido del archivo en UTF-8, verdadero de forma predeterminada. Las versiones futuras cambiarán el valor predeterminado y quitarán este parámetro. |
getenv
string repository_ctx.getenv(name, default=None)Muestra el valor de una variable de entorno
name
como una cadena si existe o default
si no existe.Cuando compilas de forma incremental, cualquier cambio en el valor de la variable nombrada por name
hará que se vuelva a recuperar este repositorio.
Parámetros
Parámetro | Descripción |
---|---|
name
|
string; obligatorio nombre de la variable de entorno deseada |
default
|
string o None ; el valor predeterminado es None El valor predeterminado que se muestra si no se encuentra "name" |
None
.
name
string repository_ctx.nameEl nombre del repositorio externo que crea esta regla.
os
repository_os repository_ctx.osEs un struct para acceder a la información del sistema.
patch
None
repository_ctx.patch(patch_file, strip=0, *, watch_patch='auto')
Aplica un archivo de parche al directorio raíz del repositorio externo. El archivo de parche debe ser un archivo estándar de formato de diferencias unificadas. La implementación del parche nativo de Bazel no admite la coincidencia de fuzz ni el parche binario, como la herramienta de línea de comandos del parche.
Parámetros
Parámetro | Descripción |
---|---|
patch_file
|
string, Label o path; obligatorio El archivo de parche que se aplicará, puede ser una etiqueta, una ruta de acceso relativa o absoluta. Si es una ruta de acceso relativa, se resolverá en el directorio del repositorio. |
strip
|
el valor predeterminado es 0 quita el número especificado de componentes iniciales de los nombres de archivos. |
watch_patch
|
el valor predeterminado es 'auto' si quieres mirar el archivo de parche. Puede ser "sí", "no" o "automático". Pasar "sí" equivale a invocar inmediatamente el método watch() ; pasar "no" no intenta ver el archivo; pasar "auto" solo intentará ver el archivo cuando sea legal hacerlo (consulta la documentación de watch() para obtener más información).
|
ruta de acceso
path repository_ctx.path(path)Muestra una ruta de acceso de una cadena, etiqueta o ruta de acceso. 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 objetivo (la etiqueta debe apuntar a un archivo no generado). Si la ruta es una ruta de acceso, la mostrará tal como está.
Parámetros
Parámetro | Descripción |
---|---|
path
|
string; Label; o path;
obligatorio string, etiqueta o ruta desde la que se crea una ruta |
lectura
string repository_ctx.read(path, *, watch='auto')Lee el contenido de un archivo en el sistema de archivos.
Parámetros
Parámetro | Descripción |
---|---|
path
|
string; Label; o path;
Es la ruta de acceso requerida del archivo desde el que se leerá. |
watch
|
el valor predeterminado es 'auto' si quieres mirar el archivo. Puede ser "sí", "no" o "automático". Pasar "sí" equivale a invocar inmediatamente el método watch() ; pasar "no" no intenta ver el archivo; pasar "auto" solo intentará ver el archivo cuando sea legal hacerlo (consulta la documentación de watch() para obtener más información).
|
report_progress
None
repository_ctx.report_progress(status='')
Actualiza el estado de progreso de la recuperación de la extensión de este repositorio o módulo.
Parámetros
Parámetro | Descripción |
---|---|
status
|
string; el valor predeterminado es una cadena '' que describe el estado actual del progreso de la recuperación |
symlink
None
repository_ctx.symlink(target, link_name)
Crea un symlink en el sistema de archivos.
Parámetros
Parámetro | Descripción |
---|---|
target
|
string, Label o path obligatoria Corresponde a la ruta a la que debe apuntar el symlink. |
link_name
|
string, Label o path obligatoria Corresponde a la ruta de acceso del symlink que se creará. |
plantilla
None
repository_ctx.template(path, template, substitutions={}, executable=True, *, watch_template='auto')
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, Label, o path; es la ruta de acceso requerida del archivo que se creará, en relación con el directorio del repositorio. |
template
|
string; Label; o path;
obligatoria ruta al archivo de plantilla. |
substitutions
|
el valor predeterminado es {} sustituciones que se deben hacer cuando se expande la plantilla. |
executable
|
el valor predeterminado es True . Establece la marca ejecutable en el archivo creado. Este parámetro es verdadero de forma predeterminada. |
watch_template
|
el valor predeterminado es 'auto' si quieres mirar el archivo de plantilla. Puede ser "sí", "no" o "automático". Pasar "sí" equivale a invocar inmediatamente el método watch() ; pasar "no" no intenta ver el archivo; pasar "auto" solo intentará ver el archivo cuando sea legal hacerlo (consulta la documentación de watch() para obtener más información).
|
reloj
None
repository_ctx.watch(path)
Le indica a Bazel que busque cambios en la ruta de acceso determinada, independientemente de si se trata de un archivo o de un directorio. Cualquier cambio en el archivo o directorio invalidará la extensión de este repositorio o módulo, y hará que se recupere o se vuelva a evaluar la próxima vez.Los “cambios” incluyen cambios en el contenido del archivo (si la ruta de acceso es un archivo); si la ruta de acceso era un archivo, pero ahora es un directorio, o viceversa; y si la ruta de acceso comienza a existir o deja de existir. En particular, esto no incluye cambios en los archivos del directorio si la ruta es un directorio. Para hacerlo, usa path.readdir()
.
Ten en cuenta que, si intentas observar las rutas de acceso dentro del repositorio que se está recuperando actualmente o dentro del directorio de trabajo de la extensión del módulo actual, se producirá un error. Una extensión de módulo que intente observar una ruta fuera del espacio de trabajo actual de Bazel también generará un error.
Parámetros
Parámetro | Descripción |
---|---|
path
|
string, Label o path; es la ruta de acceso requerida del archivo que se observará. |
watch_tree
None
repository_ctx.watch_tree(path)
Le indica a Bazel que busque cambios en cualquier archivo o directorio de forma transitiva en una ruta de acceso determinada. Cualquier cambio en el contenido de los archivos, la existencia de archivos o directorios, nombres de archivos o de directorios, hará que se vuelva a recuperar este repositorio.Ten en cuenta que, si intentas observar las rutas de acceso dentro del repositorio que se están recuperando, se producirá un error.
Parámetros
Parámetro | Descripción |
---|---|
path
|
string, Label o path; se necesita la ruta del árbol del directorio que se observará. |
cuál
path repository_ctx.which(program)Muestra la ruta de acceso del programa correspondiente o None si no existe tal programa en la ruta.
Parámetros
Parámetro | Descripción |
---|---|
program
|
requerido Programa para encontrar en la ruta. |
None
.
workspace_root
path repository_ctx.workspace_rootLa ruta de acceso al lugar de trabajo raíz de la invocación de Bazel.