このオブジェクトは、実行フェーズで読み取りまたは書き込みを行うファイルまたはディレクトリを表すために、分析フェーズで作成されます。開いているファイル ハンドルではなく、ファイルの内容を直接読み書きするために使用することはできません。代わりに、アクション作成関数に渡して、ルール実装関数でアクション グラフを作成するために使用します。詳細については、
ルールページをご覧ください。
File が Args オブジェクトに `map_each` 関数を使用せずに渡されると、path フィールドの値を取得して文字列に変換されます。
map_each
メンバー
basename
string File.basename
このファイルのベース名。ディレクトリ内のファイルの名前です。
ディレクトリ名
string File.dirname
このファイルを含むディレクトリの名前。
パスから取得され、常に実行ディレクトリからの相対パスになります。拡張機能
string File.extension
このファイルのファイル拡張子。右端のピリオドの後(ピリオドは含まない)。ファイルのベース名にピリオドが含まれていない場合は空の文字列。
is_directory
bool File.is_directory
ディレクトリの場合は true を返します。これは、ファイルが宣言されたタイプ(ctx.actions.declare_directory など)を反映したものであり、ファイル システム上のタイプとは異なる場合があります。
is_source
bool File.is_source
ソースファイルの場合(生成されていない場合)は true を返します。
is_symlink
bool File.is_symlink
シンボリック リンクとして宣言されている場合は true を返します。これは、ファイルが宣言されたタイプ(ctx.actions.declare_symlink など)を反映したものであり、ファイル システム上のタイプとは異なる場合があります。
オーナー
Label File.owner
この File を生成するターゲットのラベル。
None を返す場合があります。
パス
string File.path
ワークスペースの実行ディレクトリからの相対パスで表した、このファイルの実行パス。2 つの部分で構成されます。1 つ目は省略可能な「
root」と呼ばれる部分(
root モジュールも参照)、2 つ目は
short_path です。root は空にできます。通常、生成されていないファイルの場合は空になります。生成されたファイルの場合、通常は構成固有のパス フラグメントが含まれます。このフラグメントには、ファイルのビルドに使用されたターゲット CPU アーキテクチャなどの情報がエンコードされます。バイナリの runfiles にある場合は、ファイルがマッピングされるパスに
short_path を使用します。
root
root File.root
このファイルが存在するルート。
short_path
string File.short_path
ルートからの相対パスで表した、このファイルのパス。前述の
root は除外されます。つまり、パスの構成固有のフラグメントは除外されます。バイナリの runfiles にある場合は、ファイルがマッピングされるパスでもあります。
tree_relative_path
string File.tree_relative_path
祖先の
is_directory フィールドが true の場合、祖先のツリーのルートからの相対パスで表した、このファイルのパス。
tree_relative_path は、アクション コマンドのディレクトリの展開されたファイル(
Args.add_all())でのみ使用できます。他のタイプのファイルの場合、このフィールドにアクセスするとエラーになります。