template_ctx

Un objeto de contexto que se pasa a la función de expansión de la plantilla de acción.

Miembros

args

Args template_ctx.args()

Muestra un objeto Args que se puede usar para compilar líneas de comandos eficientes en cuanto a la memoria.

declare_file

File template_ctx.declare_file(filename, *, directory)

Declara que la implementación crea un archivo con el nombre de archivo determinado dentro del directorio especificado.

Recuerda que, además de declarar un archivo, debes crear por separado una acción que emita el archivo. Para crear esa acción, deberás pasar el objeto File que se muestra a la función de construcción de la acción.

Parámetros

Parámetro Descripción
filename string; obligatorio
Es la ruta de acceso relativa del archivo dentro del directorio.
directory Archivo; obligatorio
Es el directorio en el que se debe crear el archivo.

run

None template_ctx.run(*, outputs, inputs=[], executable, tools=None, arguments=[], progress_message=None)

Crea una acción que ejecuta un archivo ejecutable.

Parámetros

Parámetro Descripción
outputs secuencia de archivos; obligatorio
Es la lista de los archivos de salida de la acción.
inputs secuencia de archivos; o depset; el valor predeterminado es []
Es la lista o el depset de los archivos de entrada de la acción.
executable Archivo; o string; o FilesToRunProvider; obligatorio
Es el archivo ejecutable que llamará la acción.
tools secuencia; o depset; o None; el valor predeterminado es None
Es la lista o el depset de cualquier herramienta que necesite la acción. Las herramientas son entradas ejecutables que pueden tener sus propios archivos de ejecución, que se ponen a disposición de la acción de forma automática.

Cuando se proporciona una lista, puede ser una colección heterogénea de lo siguiente:

  • Files
  • Instancias de FilesToRunProvider
  • depsets de Files
Files de ctx.executable y los FilesToRunProviders que están directamente en la lista tendrán sus archivos de ejecución agregados automáticamente. Todas las herramientas se agregan de forma implícita como entradas.

arguments secuencia; el valor predeterminado es []
Son los argumentos de la línea de comandos de la acción. Debe ser una lista de cadenas o de actions.args() objetos.
progress_message string; o None; el valor predeterminado es None
Es el mensaje de progreso que se muestra al usuario durante la compilación.