Este objeto se crea durante la fase de análisis para representar un archivo o directorio que se leerá o escribirá durante la fase de ejecución. No es un identificador de archivo abierto y no se puede usar para leer o escribir directamente el contenido de un archivo. En cambio, lo usas para construir el gráfico de acciones en una función de implementación de reglas pasándolo a funciones que crean acciones. Consulta la página Reglas para obtener más información.
Cuando se pasa un File
a un objeto Args
sin usar una función map_each
, se convierte en una cadena tomando el valor de su campo path
.
Miembros
- basename
- dirname
- extensión
- is_directory
- is_source
- is_symlink
- owner
- path
- root
- short_path
- tree_relative_path
basename
string File.basenameEs el nombre base de este archivo. Es el nombre del archivo dentro del directorio.
dirname
string File.dirnameEs el nombre del directorio que contiene este archivo. Se toma de path y siempre es relativo al directorio de ejecución.
extensión
string File.extensionEs la extensión de archivo, después (sin incluir) del punto más a la derecha. Es una cadena vacía si el nombre de base del archivo no incluye puntos.
is_directory
bool File.is_directoryMuestra verdadero si es un directorio. Esto refleja el tipo con el que se declaró el archivo (es decir, ctx.actions.declare_directory), no su tipo en el sistema de archivos, que podría diferir.
is_source
bool File.is_sourceMuestra verdadero si se trata de un archivo de origen, es decir, si no se genera.
is_symlink
bool File.is_symlinkMuestra verdadero si es un directorio. Esto refleja el tipo con el que se declaró el archivo (es decir, ctx.actions.declare_symlink), no su tipo en el sistema de archivos, que podría diferir.
propietario
Label File.ownerEs una etiqueta de un destino que produce este archivo. Puede mostrar
None
.
ruta de acceso
string File.pathEs la ruta de ejecución de este archivo, en relación con el directorio de ejecución del lugar de trabajo. Consta de dos partes: una primera parte opcional llamada raíz (consulta también el módulo raíz) y la segunda parte, que es
short_path
. La raíz puede estar vacía, lo que suele ser el caso de los archivos no generados. En el caso de los archivos generados, suele contener un fragmento de ruta de acceso específico de la configuración que codifica elementos como la arquitectura de CPU objetivo que se usó durante la compilación de dicho archivo. Usa short_path
para la ruta de acceso en la que se asigna el archivo si está en los archivos de ejecución de un objeto binario.
raíz
root File.rootEs la raíz en la que reside este archivo.
short_path
string File.short_pathEs la ruta de acceso de este archivo en relación con su raíz. Esto excluye la raíz mencionada anteriormente, es decir, los fragmentos específicos de la configuración de la ruta de acceso. Esta también es la ruta de acceso en la que se asigna el archivo si está en los archivos de ejecución de un objeto binario.
tree_relative_path
string File.tree_relative_pathEs la ruta de acceso de este archivo en relación con la raíz del árbol del ancestro, si el campo is_directory del ancestro es verdadero.
tree_relative_path
solo está disponible para los archivos expandidos de un directorio en un comando de acción, es decir, Args.add_all(). Para otros tipos de archivos, es un error acceder a este campo.