特定切面套用規則屬性的相關資訊。
成員
attr
struct rule_attributes.attr
用來存取
屬性值的結構體。屬性值是由使用者提供 (如果不是,則會採用預設值)。結構的屬性和值類型會對應至提供給
rule
函式的
attrs
字典的鍵和值。
查看使用範例。
執行檔
struct rule_attributes.executable
struct
,包含
標籤類型屬性中定義的可執行檔,並標示為
executable=True
。struct 欄位對應的是屬性名稱。結構中的每個值均為 File
或
None
。如果規則中未指定選用屬性,則對應的結構值會是
None
。如果標籤類型未標示為
executable=True
,則不會產生相對應的結構體欄位。
查看使用範例。
檔案
struct rule_attributes.file
struct
,包含在
標籤類型屬性中定義的檔案,並標示為
allow_single_file
。struct 欄位對應的是屬性名稱。結構值一律為
File
或
None
。如果規則中未指定選用屬性,則對應的結構值會是
None
。如果標籤類型未標示為
allow_single_file
,則不會產生相對應的結構體欄位。這種方法的捷徑如下:
list(ctx.attr.<ATTR>.files)[0]
換句話說,使用
file
即可存取依附元件的 (單數)
預設輸出內容。
查看使用範例。
檔案
struct rule_attributes.files
struct
,包含在
標籤或
標籤清單類型屬性中定義的檔案。struct 欄位對應的是屬性名稱。結構值是
File
的
list
。這種方法的捷徑如下:
[f for t in ctx.attr.<ATTR> for f in t.files]
換句話說,使用
files
存取依附元件的
預設輸出內容。
查看使用範例。
kind
string rule_attributes.kind
規則的種類,例如「cc_library」