rule_attributes [ルール属性]

7.3 · 7.2 · 7.1 · 7.0 · 6.5

アスペクトが適用されるルールの属性に関する情報。

メンバー

attr

struct rule_attributes.attr

属性の値にアクセスするための構造体。値はユーザーが指定します(指定しない場合、デフォルト値が使用されます)。構造体の属性とその値の型は、rule 関数に渡される attrs ディクショナリのキーと値に対応しています。使用例をご覧ください。

実行可能ファイル

struct rule_attributes.executable

executable=True としてマークされたラベルタイプ属性で定義された実行可能ファイルを含む struct。構造体フィールドは属性名に対応しています。構造体の各値は、File または None です。オプションの属性がルールで指定されていない場合、対応する構造体値は None です。ラベルタイプが executable=True とマークされていない場合、対応する構造体フィールドは生成されません。使用例をご覧ください。

ファイル

struct rule_attributes.file

allow_single_file としてマークされたラベルタイプ属性で定義されたファイルを含む struct。構造体フィールドは属性名に対応しています。構造体の値は常に File または None です。オプションの属性がルールで指定されていない場合、対応する構造体の値は None です。ラベルタイプが allow_single_file とマークされていない場合、対応する構造体フィールドは生成されません。これは次のショートカットです。
list(ctx.attr.<ATTR>.files)[0]
つまり、file を使用して、依存関係の(単一の)デフォルト出力にアクセスします。使用例をご覧ください。

ファイル

struct rule_attributes.files

ラベルまたはラベルリストタイプの属性で定義されたファイルを含む struct。構造体フィールドは属性名に対応しています。構造体の値は Filelist です。これは以下のショートカットです。
[f for t in ctx.attr.<ATTR> for f in t.files]
つまり、files を使用して依存関係のデフォルト出力にアクセスします。使用例をご覧ください

kind

string rule_attributes.kind

ルールの種類(cc_library など)