Bazel 如何在方面之间传播
我正在应用方面,但不知何故似乎做错了什么。 对著名的参考图片进行成像 就我而言,A是:Bazel 如何在方面之间传播,bazel,bazel-aspect,Bazel,Bazel Aspect,我正在应用方面,但不知何故似乎做错了什么。 对著名的参考图片进行成像 就我而言,A是: deps_aspect = aspect( implementation = _deps_aspect_impl, attr_aspects = ["resource_deps"], attrs = { }, ) 对于A(W),\u deps\u aspect\u impl返回: return struct( dep_files = set(),
deps_aspect = aspect(
implementation = _deps_aspect_impl,
attr_aspects = ["resource_deps"],
attrs = {
},
)
对于A(W),\u deps\u aspect\u impl
返回:
return struct(
dep_files = set(),
)
现在,如果我正确理解了文档,我应该能够通过resource\u deps
在A(Y)中访问A(W)dep\u文件
如果对于A(Y),\u deps\u aspect\u impl
我会:
print("DIR: %s" % dir(ctx.rule.attr))
没有打印resource\u deps
(我无法访问它)
我是不是理解错了什么,或者这是怎么回事?所以问题是我没有正确把握各种细微差别
属性方面是递归的。这意味着一旦应用,它们将在图形中向下传播。因此,该属性是全局的。也许最好能够使用kind
->attr
映射指定dict
由于1。你真的需要看看kind
,这样你就有了不同的代码路径(我做对了一件事)
数据可以通过阴影图传播。我以前想象过。只能在“实体”规则attrs
上传播