アスペクトが適用されるルールの属性に関する情報。
メンバー
attr
struct rule_attributes.attr
属性の
値にアクセスするための構造体。値はユーザーが指定します(指定しない場合はデフォルト値が使用されます)。構造体の属性とその値の型は、
attrs dict に渡される
rule function のキーと値に対応しています。
使用例をご覧ください。
実行可能ファイル
struct rule_attributes.executable
実行可能ファイルを含む
struct、
ラベルタイプの属性で定義され、
executable=Trueとマークされています。構造体のフィールドは属性名に対応しています。構造体の各値は
File または
None です。ルールでオプションの属性が指定されていない場合、対応する構造体の値は
None になります。ラベルタイプが
executable=True とマークされていない場合、対応する構造体のフィールドは生成されません。
使用例をご覧ください。
ファイル
struct rule_attributes.file
struct とマークされた
ラベルタイプの属性で定義されたファイルを含む
allow_single_file。構造体のフィールドは属性名に対応しています。構造体の値は常に
File または
None です。ルールでオプションの属性が指定されていない場合、対応する構造体の値は
None になります。ラベルタイプが
allow_single_file とマークされていない場合、対応する構造体のフィールドは生成されません。これは次のショートカットです。
list(ctx.attr.<ATTR>.files)[0]
つまり、
file を使用して依存関係の
デフォルトの出力(単数)にアクセスします。
使用例をご覧ください。
ファイル
struct rule_attributes.files
ラベルまたはラベルリストタイプの属性で定義されたファイルを含む struct。構造体のフィールドは属性名に対応しています。構造体の値は
list の
File です。これは次のショートカットです。
[f for t in ctx.attr.<ATTR> for f in t.files]
つまり、
files を使用して依存関係の
デフォルトの出力 にアクセスします。
使用例をご覧ください。
kind
string rule_attributes.kind
ルールの種類('cc_library' など)。