Bazel 规则定义中 attr 的有效类型是什么

What are the valid types of `attr` in a Bazel rule definition

documentation 显示:

sum = rule(
    implementation = _impl,
    attrs = {
        "number": attr.int(default = 1),
        "deps": attr.label_list(),
    },
)

有一个 int 和一个 label_list。但是其他选择是什么?还有哪些类型可以是规则属性? attr.string() 似乎也存在。还有什么?

您可以在此处找到完整列表:https://docs.bazel.build/versions/master/skylark/lib/attr.html

这包括:

bool
int
int_list
label
label_keyed_string_dict
label_list
license
output
output_list
string
string_dict
string_list
string_list_dict