我正在申请方面但不知何故似乎做错了什么。 对着名的参考图片进行成像。
在我的情况下 A 是:
deps_aspect = aspect(
implementation = _deps_aspect_impl,
attr_aspects = ["resource_deps"],
attrs = {
},
)
对于 A(W),_deps_aspect_impl
会返回:
return struct(
dep_files = set(),
)
现在,如果我正确理解文档,我应该可以通过 A(Y)中的dep_files
访问 A(W) resource_deps
如果 A(Y),_deps_aspect_impl
我这样做:
print("DIR: %s" % dir(ctx.rule.attr))
没有打印resource_deps
(我无法访问它)。
我是否理解错误或者这应该如何运作?
答案 0 :(得分:0)
所以问题是我没有抓住各种细微差别。
attr_aspects
是递归的。这意味着一旦你申请,他们向下传播图表。因此,对于那个属性,属性是全局的。也许最好能够用kind
指定一个字典 - > attr
映射。
由于1.你真的需要看看kind
,所以你有不同的代码路径(我做的一件事就是这样)。
数据可以 NOT 通过阴影图传播。之前我想过。你只能传播" solid"规则attrs
。