规则属性

报告问题 查看来源 Nightly · 8.3 · 8.2 · 8.1 · 8.0 · 7.6

有关应用了方面规则的属性的信息。

成员

attr

struct rule_attributes.attr

用于访问属性值的结构。这些值由用户提供(如果未提供,则使用默认值)。结构体的属性及其值的类型对应于提供给 rule 函数attrs 字典的键和值。查看使用示例

exec_groups

ExecGroupCollection rule_attributes.exec_groups

一个集合,包含方面所应用规则的可用执行组,按名称编制索引。

可执行文件

struct rule_attributes.executable

包含在标记为 executable=True标签类型属性中定义的可执行文件的 struct。结构体字段与属性名称相对应。结构体中的每个值可以是 FileNone。如果规则中未指定可选属性,则相应的结构体值为 None。如果标签类型未标记为 executable=True,则不会生成相应的结构体字段。查看使用示例

文件

struct rule_attributes.file

包含在标记为 allow_single_file标签类型属性中定义的文件。struct结构体字段与属性名称相对应。结构体值始终为 FileNone。如果规则中未指定可选属性,则相应的结构体值为 None。如果标签类型未标记为 allow_single_file,则不会生成相应的结构体字段。它是以下操作的快捷方式:
list(ctx.attr.<ATTR>.files)[0]
换句话说,使用 file 可访问依赖项的(单数)默认输出查看使用示例

文件

struct rule_attributes.files

一个 struct,包含在 labellabel list 类型属性中定义的文件。结构体字段与属性名称相对应。结构体值为 Filelist。它是以下操作的快捷方式:
[f for t in ctx.attr.<ATTR> for f in t.files]
换句话说,使用 files 访问依赖项的 默认输出查看使用示例

kind

string rule_attributes.kind

规则的种类,例如“cc_library”

工具链

ToolchainContext rule_attributes.toolchains

应用相应方面所针对的规则的默认执行组的工具链。

var

dict rule_attributes.var

配置变量的字典(字符串到字符串)。