Esse objeto é criado durante a fase de análise para representar um arquivo ou diretório que será lido ou gravado durante a fase de execução. Ele não é um identificador de arquivo aberto e não pode ser usado para ler ou gravar diretamente o conteúdo do arquivo. Em vez disso, use-o para construir o gráfico de ações em uma função de implementação de regra, transmitindo-o para funções de criação de ações. Consulte a 
página "Regras" para mais informações.
Quando um File é transmitido para um objeto Args sem usar uma função map_each, ele é convertido em uma string ao receber o valor do campo path.
Membros
      basename
        string File.basename
    O nome base do arquivo. Este é o nome do arquivo dentro do diretório.
        
dirname
        string File.dirname
    O nome do diretório que contém esse arquivo. Ele é extraído de 
path e é sempre relativo ao diretório de execução.
        
extensão
        string File.extension
    A extensão do arquivo, seguindo (não incluindo) o ponto à direita. String vazia se o nome base do arquivo não incluir pontos.
        
is_directory
        bool File.is_directory
    Retorna true se for um diretório. Isso reflete o tipo declarado do arquivo (por exemplo, ctx.actions.declare_directory), não o tipo dele no sistema de arquivos, que pode ser diferente.
        
is_source
        bool File.is_source
    Retorna "true" se for um arquivo de origem, ou seja, se não for gerado.
        
is_symlink
        bool File.is_symlink
    Retorna verdadeiro se isso foi declarado como um link simbólico. Isso reflete o tipo declarado do arquivo (por exemplo, ctx.actions.declare_symlink), não o tipo dele no sistema de arquivos, que pode ser diferente.
        
proprietário
        Label File.owner
    Um rótulo de um destino que produz esse arquivo.
         Pode retornar 
None.
        
caminho
        string File.path
    O caminho de execução desse arquivo, relativo ao diretório de execução do espaço de trabalho. Ele consiste em duas partes: uma primeira parte opcional chamada 
raiz (consulte também o módulo 
raiz) e a segunda parte, que é o 
short_path. A raiz pode estar vazia, o que geralmente acontece com arquivos não gerados. Para arquivos gerados, geralmente contém um fragmento de caminho específico da configuração que codifica itens como a arquitetura de CPU de destino usada ao criar o arquivo. Use o 
short_path para o caminho em que o arquivo é mapeado se ele estiver nos runfiles de um binário.
        
root
        root File.root
    A raiz em que este arquivo reside.
        
short_path
        string File.short_path
    O caminho desse arquivo em relação à raiz. Isso exclui a 
raiz mencionada acima, ou seja, fragmentos específicos da configuração do caminho. Esse também é o caminho em que o arquivo é mapeado se estiver nos runfiles de um binário.
        
tree_relative_path
        string File.tree_relative_path
    O caminho desse arquivo relativo à raiz da árvore do ancestral, se o campo 
is_directory do ancestral for verdadeiro. 
tree_relative_path só está disponível para arquivos expandidos de um diretório em um comando de ação, ou seja, 
Args.add_all(). Para outros tipos de arquivos, é um erro acessar esse campo.