在 Bazel 中,您可以定义一个属性类型,它可以是 int 或 string ... 或output
将一种属性类型作为“输出”是什么意思?
这是一个例子:
def _something(ctx):
print("The username is: ", ctx.attr.username)
print("boolean value is", ctx.attr.boolean)
print("my age is:", ctx.attr.age)
print("Start printing hours .." )
for i in ctx.attr.hours:
print (i)
print("Finish printing hours ..")
print("Depending on: ", ctx.attr.dep_on)
print_me = rule(
implementation = _something,
attrs = {
"username" : attr.string(),
"boolean" : attr.bool(),
"age" : attr.int(),
"hours" : attr.int_list(),
"dep_on": attr.label(),
"the_results": attr.output(),
},
)
这是一个简单的规则,它的输出类型为 the_results