ctx.actions.
Miembros
- args
- declare_directory
- declare_file
- declare_symlink
- do_nothing
- expand_template
- run
- run_shell
- vínculo simbólico
- template_dict
- write
args
Args actions.args()
declare_directory
File actions.declare_directory(filename, *, sibling=None)
Args.add_all().
Parámetros
| Parámetro | Descripción |
|---|---|
filename
|
obligatorio Si no se proporciona ningún elemento "hermano", es la ruta de acceso del directorio nuevo, relativa al paquete actual. De lo contrario, es un nombre base para un archivo (el "hermano" define un directorio). |
sibling
|
File; or None;
default = NoneUn archivo que se encuentra en el mismo directorio que el directorio declarado recientemente. El archivo debe estar en el paquete actual. |
declare_file
File actions.declare_file(filename, *, sibling=None)
sibling, el nombre del archivo es relativo al directorio del paquete. De lo contrario, el archivo se encuentra en el mismo directorio que sibling. No se pueden crear archivos fuera del paquete actual.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 devuelto a la función de construcción de la acción.
Ten en cuenta que los archivos de salida predeclarados no necesitan (y no pueden) declararse con esta función. En su lugar, puedes obtener sus objetos File de ctx.outputs. Consulta un ejemplo de uso.
Parámetros
| Parámetro | Descripción |
|---|---|
filename
|
obligatorio Si no se proporciona ningún "elemento secundario", ruta de acceso del archivo nuevo, relativa al paquete actual. De lo contrario, es un nombre base para un archivo (el "hermano" determina un directorio). |
sibling
|
File; or None;
default = NoneEs un archivo que se encuentra en el mismo directorio que el archivo recién creado. El archivo debe estar en el paquete actual. |
declare_symlink
File actions.declare_symlink(filename, *, sibling=None)
Experimental. Este parámetro es experimental y puede cambiar en cualquier momento. No dependas de ella. Se puede habilitar de forma experimental configurando --experimental_allow_unresolved_symlinks.
Declara que la regla o el aspecto crea un vínculo simbólico con el nombre determinado en el paquete actual. Debes crear una acción que genere este vínculo simbólico. Bazel nunca anulará la referencia de este vínculo simbólico y lo transferirá literalmente a los espacios de pruebas o ejecutores remotos.
Parámetros
| Parámetro | Descripción |
|---|---|
filename
|
obligatorio Si no se proporciona ningún "hermano", ruta de acceso del nuevo vínculo simbólico, relativa al paquete actual. De lo contrario, es un nombre base para un archivo (el "hermano" define un directorio). |
sibling
|
File; or None;
default = NoneUn archivo que se encuentra en el mismo directorio que el vínculo simbólico declarado recientemente. |
do_nothing
None actions.do_nothing(mnemonic, inputs=[])
Parámetros
| Parámetro | Descripción |
|---|---|
mnemonic
|
obligatorio Es una descripción de una palabra de la acción, por ejemplo, CppCompile o GoLink. |
inputs
|
sequence of Files; or depset;
default = []Lista de los archivos de entrada de la acción. |
expand_template
None actions.expand_template(template, output, substitutions={}, is_executable=False, computed_substitutions=unbound)
substitutions, en el orden en que se especifican las sustituciones. Cada vez que aparece una clave del diccionario en la plantilla (o en el resultado de una sustitución anterior), se reemplaza por el valor asociado. No hay una sintaxis especial para las claves. Por ejemplo, puedes usar llaves para evitar conflictos (por ejemplo, {KEY}). Consulta un ejemplo de uso.
Parámetros
| Parámetro | Descripción |
|---|---|
template
|
obligatorio Es el archivo de plantilla, que es un archivo de texto codificado en UTF-8. |
output
|
obligatorio Es el archivo de salida, que es un archivo de texto codificado en UTF-8. |
substitutions
|
default = {} Sustituciones que se realizarán cuando se expanda la plantilla. |
is_executable
|
predeterminado = False Indica si el archivo de salida debe ser ejecutable. |
computed_substitutions
|
TemplateDict;
default = unboundExperimental. Este parámetro es experimental y puede cambiar en cualquier momento. No dependas de ella. Se puede habilitar de forma experimental configurando --+experimental_lazy_template_expansion Experimental: Sustituciones que se realizarán cuando se expanda la plantilla. |
run
None actions.run(outputs, inputs=[], unused_inputs_list=None, executable, tools=unbound, arguments=[], mnemonic=None, progress_message=None, use_default_shell_env=False, env=None, execution_requirements=None, input_manifests=None, exec_group=None, shadowed_action=None, resource_set=None, toolchain=None)
Parámetros
| Parámetro | Descripción |
|---|---|
outputs
|
sequence of Files;
requiredLista de los archivos de salida de la acción. |
inputs
|
sequence of Files; or depset;
default = []Lista o depset de los archivos de entrada de la acción. |
unused_inputs_list
|
File; or None;
default = NoneArchivo que contiene la lista de entradas no utilizadas por la acción. El contenido de este archivo (generalmente, uno de los resultados de la acción) corresponde a la lista de archivos de entrada que no se usaron durante toda la ejecución de la acción. Ningún cambio en esos archivos debe afectar de ninguna manera los resultados de la acción. |
executable
|
File; or string; or FilesToRunProvider;
requiredEl archivo ejecutable al que llamará la acción. |
tools
|
sequence; or depset;
default = unboundLista o depset de las herramientas que necesita la acción. Las herramientas son entradas con archivos ejecutables adicionales que se ponen a disposición de la acción automáticamente. Cuando se proporciona una lista, puede ser una colección heterogénea de archivos, instancias de FilesToRunProvider o depsets de archivos. Los archivos que se encuentran directamente en la lista y provienen de ctx.executable tendrán sus archivos de ejecución agregados automáticamente. Cuando se proporciona un depset, solo debe contener archivos. En ambos casos, los archivos dentro de los depsets no se correlacionan con ctx.executable para los archivos ejecutables. |
arguments
|
sequence;
default = []Son los argumentos de la línea de comandos de la acción. Debe ser una lista de cadenas o de objetos actions.args().
|
mnemonic
|
string; or None;
default = NoneEs una descripción de una palabra de la acción, por ejemplo, CppCompile o GoLink. |
progress_message
|
string; or None;
default = NoneEs el mensaje de progreso que se muestra al usuario durante la compilación, por ejemplo, "Compilando foo.cc para crear foo.o". El mensaje puede contener patrones %{label}, %{input} o %{output}, que se reemplazan por la cadena de la etiqueta, la primera entrada o la ruta de acceso de la salida, respectivamente. Es preferible usar patrones en lugar de cadenas estáticas, ya que los primeros son más eficientes.
|
use_default_shell_env
|
predeterminado = False Indica si la acción debe usar el entorno de shell integrado o no. |
env
|
dict; or None;
default = NoneEstablece el diccionario de variables de entorno. |
execution_requirements
|
dict; or None;
default = NoneEs la información para programar la acción. Consulta etiquetas para obtener claves útiles. |
input_manifests
|
sequence; or None;
default = None(Experimental) sets the input runfiles metadata; they are typically generated by resolve_command. |
exec_group
|
string; or None;
default = NoneEjecuta la acción en la plataforma de ejecución del grupo de ejecución determinado. Si no se especifica ninguno, se usa la plataforma de ejecución predeterminada del destino. |
shadowed_action
|
Action;
default = NoneEjecuta la acción con las entradas y el entorno de la acción sombreada determinados que se agregaron a la lista de entradas y al entorno de la acción. El entorno de la acción puede anular cualquiera de las variables de entorno de la acción sombreada. Si no hay ninguna, solo se usan las entradas de la acción y el entorno determinado. |
resource_set
|
callable; or None;
default = NoneEs una función de devolución de llamada que devuelve un diccionario de conjunto de recursos y que se usa para estimar el uso de recursos en el tiempo de ejecución si esta acción se ejecuta de forma local. La función acepta dos argumentos posicionales: una cadena que representa un nombre de SO (p.ej., "osx") y un número entero que representa la cantidad de entradas para la acción. El diccionario devuelto puede contener las siguientes entradas, cada una de las cuales puede ser un número de punto flotante o un número entero:
Si este parámetro se establece en La devolución de llamada debe ser de nivel superior (no se permiten funciones lambda ni anidadas). |
toolchain
|
Label; or string; or None;
default = NoneEs el tipo de cadena de herramientas del ejecutable o de las herramientas que se usan en esta acción. El parámetro debe establecerse para que la acción se ejecute en la plataforma de ejecución correcta. Por el momento, no hace nada, pero recomendamos configurarlo cuando se usa una cadena de herramientas, ya que será obligatorio en las versiones futuras de Bazel. Ten en cuenta que la regla que crea esta acción debe definir esta cadena de herramientas dentro de su función "rule()". Cuando se configuran los parámetros "toolchain" y "exec_group", se usará "exec_group". Se genera un error en caso de que `exec_group` no especifique lo mismo. |
run_shell
None actions.run_shell(outputs, inputs=[], tools=unbound, arguments=[], mnemonic=None, command, progress_message=None, use_default_shell_env=False, env=None, execution_requirements=None, input_manifests=None, exec_group=None, shadowed_action=None, resource_set=None, toolchain=None)
Parámetros
| Parámetro | Descripción |
|---|---|
outputs
|
sequence of Files;
requiredLista de los archivos de salida de la acción. |
inputs
|
sequence of Files; or depset;
default = []Lista o depset de los archivos de entrada de la acción. |
tools
|
sequence of Files; or depset;
default = unboundLista o depset de las herramientas que necesita la acción. Las herramientas son entradas con archivos ejecutables adicionales que se ponen a disposición de la acción automáticamente. La lista puede contener instancias de Files o FilesToRunProvider. |
arguments
|
sequence;
default = []Son los argumentos de la línea de comandos de la acción. Debe ser una lista de cadenas o de objetos actions.args().Bazel pasa los elementos de este atributo como argumentos al comando.El comando puede acceder a estos argumentos con sustituciones de variables de shell, como En el caso en que |
mnemonic
|
string; or None;
default = NoneEs una descripción de una palabra de la acción, por ejemplo, CppCompile o GoLink. |
command
|
string; or sequence of strings;
obligatorioComando de shell que se ejecutará. Puede ser una cadena (preferida) o una secuencia de cadenas (obsoleta). Si (Obsoleto) Si Bazel usa el mismo shell para ejecutar el comando que para las genrules. |
progress_message
|
string; or None;
default = NoneEs el mensaje de progreso que se muestra al usuario durante la compilación, por ejemplo, "Compilando foo.cc para crear foo.o". El mensaje puede contener patrones %{label}, %{input} o %{output}, que se reemplazan por la cadena de la etiqueta, la primera entrada o la ruta de acceso de la salida, respectivamente. Es preferible usar patrones en lugar de cadenas estáticas, ya que los primeros son más eficientes.
|
use_default_shell_env
|
predeterminado = False Indica si la acción debe usar el entorno de shell integrado o no. |
env
|
dict; or None;
default = NoneEstablece el diccionario de variables de entorno. |
execution_requirements
|
dict; or None;
default = NoneEs la información para programar la acción. Consulta etiquetas para obtener claves útiles. |
input_manifests
|
sequence; or None;
default = None(Experimental) sets the input runfiles metadata; they are typically generated by resolve_command. |
exec_group
|
string; or None;
default = NoneEjecuta la acción en la plataforma de ejecución del grupo de ejecución determinado. Si no se especifica ninguno, se usa la plataforma de ejecución predeterminada del destino. |
shadowed_action
|
Action;
default = NoneEjecuta la acción con las entradas descubiertas de la acción sombreada determinada que se agregaron a la lista de entradas de la acción. Si no hay ninguno, solo se usan las entradas de la acción. |
resource_set
|
callable; or None;
default = NoneUna función de devolución de llamada para estimar el uso de recursos si se ejecuta de forma local. Consulta ctx.actions.run().
|
toolchain
|
Label; or string; or None;
default = NoneEs el tipo de cadena de herramientas del ejecutable o de las herramientas que se usan en esta acción. El parámetro debe establecerse para que la acción se ejecute en la plataforma de ejecución correcta. Por el momento, no hace nada, pero recomendamos configurarlo cuando se usa una cadena de herramientas, ya que será obligatorio en las versiones futuras de Bazel. Ten en cuenta que la regla que crea esta acción debe definir esta cadena de herramientas dentro de su función "rule()". Cuando se configuran los parámetros "toolchain" y "exec_group", se usará "exec_group". Se genera un error en caso de que `exec_group` no especifique la misma cadena de herramientas. |
symlink
None actions.symlink(output, target_file=None, target_path=None, is_executable=False, progress_message=None)
Se debe llamar a esta función con exactamente uno de los parámetros target_file o target_path especificados.
Cuando usas target_file, declara output con declare_file() o declare_directory() y haz coincidir el tipo de target_file. Esto hace que el symlink apunte a target_file. Bazel invalida el resultado de esta acción cada vez que cambia el destino del vínculo simbólico o su contenido.
De lo contrario, cuando uses target_path, declara output con declare_symlink()). En este caso, el vínculo simbólico apunta a target_path. Bazel nunca resuelve el vínculo simbólico, y el resultado de esta acción solo se invalida cuando cambia el contenido de texto del vínculo simbólico (es decir, el valor de readlink()). En particular, se puede usar para crear un symlink colgante.
Parámetros
| Parámetro | Descripción |
|---|---|
output
|
obligatorio Es el resultado de esta acción. |
target_file
|
File; or None;
default = NoneEs el archivo al que apuntará el symlink de salida. |
target_path
|
string; or None;
default = None(Experimental) Ruta de acceso exacta a la que apuntará el vínculo simbólico de salida. No se aplica ninguna normalización ni otro tipo de procesamiento. El acceso a esta función requiere que se establezca --experimental_allow_unresolved_symlinks.
|
is_executable
|
predeterminado = False Solo se puede usar con target_file, no con target_path. Si es verdadero, cuando se ejecuta la acción, se verifica la ruta de acceso de target_file para confirmar que se puede ejecutar y se informa un error si no es así. Establecer is_executable en False no significa que el destino no sea ejecutable, sino que no se realiza ninguna verificación.Esta función no tiene sentido para |
progress_message
|
string; or None;
default = NoneEs el mensaje de progreso que se muestra al usuario durante la compilación. |
template_dict
TemplateDict actions.template_dict()
--+experimental_lazy_template_expansion Experimental: Devuelve un objeto TemplateDict para la expansión de plantillas eficiente en cuanto a la memoria.
write
None actions.write(output, content, is_executable=False)
expand_template.
Parámetros
| Parámetro | Descripción |
|---|---|
output
|
obligatorio Es el archivo de salida. |
content
|
string; or Args;
obligatorioel contenido del archivo. Puede ser una cadena o un objeto actions.args().
|
is_executable
|
predeterminado = False Indica si el archivo de salida debe ser ejecutable. |