ファイル

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

FileArgs オブジェクトに `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 を返します。

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())でのみ使用できます。他のタイプのファイルの場合、このフィールドにアクセスするとエラーになります。