rule_attributes [ルール属性]

問題を報告する ソースを表示 ナイトリー · 7.4 . 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

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

kind

string rule_attributes.kind

ルールの種類(cc_library など)