ファイル

このオブジェクトは、分析フェーズで作成され、実行フェーズで読み書きされるファイルまたはディレクトリを表します。オープンのファイル ハンドルではないため、これを使用してファイルの内容を直接読み書きすることはできません。アクション作成関数に渡して、ルール実装関数でアクション グラフを構築するために使用します。詳細については、ルールページをご覧ください。

map_each 関数を使用せずに FileArgs オブジェクトに渡されると、path フィールドの値を取得して文字列に変換されます。

メンバー

basename

string File.basename

このファイルのベース名。これはディレクトリ内のファイルの名前です。

dirname

string File.dirname

このファイルを含むディレクトリの名前。これは path から取得され、常に実行ディレクトリへの相対パスになります。

拡張機能

string File.extension

このファイルのファイル拡張子です。右端のピリオドは含みません。ファイルのベース名にピリオドが含まれていない場合は空の文字列。

is_directory

bool File.is_directory

ディレクトリの場合、true を返します。

is_source

bool File.is_source

これがソースファイルである場合、つまり生成されていない場合、true を返します。

owner

Label File.owner

このファイルを生成するターゲットのラベル。 None を返す場合があります。

パス

string File.path

このファイルの実行パス(ワークスペースの実行ディレクトリを基準とする相対パス)。これは 2 つの部分で構成されています。前者は root(省略可)で、前半は rootroot モジュールも参照)し、もう 1 つは short_path です。ルートは空にすることもできますが、通常は生成されていないファイルの場合は空になります。生成されたファイルには、通常、そのファイルのビルド中に使用されたターゲット CPU アーキテクチャなどをエンコードした、構成固有のパス フラグメントが含まれます。ファイルがバイナリのランファイル内にある場合は、ファイルがマッピングされるパスに short_path を使用します。

root

root File.root

このファイルが存在するルート。

short_path

string File.short_path

このファイルのパス(ルートからの相対パス)。これにより、前述のルート(パスの設定固有のフラグメント)は除外されます。ファイルがバイナリの Runfile 内にある場合は、ファイルがマッピングされるパスでもあります。

tree_relative_path

string File.tree_relative_path

祖先の is_directory フィールドが true の場合、祖先のツリーのルートを基準とするこのファイルの相対パス。tree_relative_path は、アクション コマンド内のディレクトリの展開ファイル(Args.add_all() など)でのみ使用できます。他の種類のファイルでは、このフィールドにアクセスするとエラーになります。