アスペクトが適用されているルールの属性に関する情報。
メンバー
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
。構造体フィールドは属性名に対応しています。構造体の値は
File
の
list
です。これは次のショートカットです。
[f for t in ctx.attr.<ATTR> for f in t.files]
つまり、
files
を使用して依存関係のデフォルト出力にアクセスします。
使用例をご覧ください。
kind
string rule_attributes.kind
ルールの種類(「cc_library」など)