如何从Bazel规则查询同级规则
我希望能够在Bazel构建文件中执行以下操作:如何从Bazel规则查询同级规则,bazel,bazel-rules,Bazel,Bazel Rules,我希望能够在Bazel构建文件中执行以下操作: alpha( name = "hello world", color = "blue" ) beta( name = "hello again" ) 其中,alpha和beta是自定义规则。我希望beta能够访问alpha规则的color属性,而无需添加标签属性。在Bazel查询中,我可以执行以下操作: bazel查询“种类(beta,兄弟姐妹(种类(alpha,/…)))
alpha(
name = "hello world",
color = "blue"
)
beta(
name = "hello again"
)
其中,alpha
和beta
是自定义规则。我希望beta
能够访问alpha
规则的color
属性,而无需添加标签属性。在Bazel查询中,我可以执行以下操作:
bazel查询“种类(beta,兄弟姐妹(种类(alpha,/…)))”
这给了我beta
,它与alpha
并列。我可以在beta
规则的实现功能中以某种方式实现相同的功能吗
def_beta_rule_impl(ctx):
#这不存在,我希望它存在:ctx.sibbins(kind='alpha')
我见过这样的标签
beta(
name = "hello again",
alpha_link = ":hello world" # explicitly linking
)
但我觉得这有点冗长,特别是因为有兄弟查询支持。问题的表述方式是否定的。这是不可能的 Bazel的设计理念是明确目标依赖性。用于在分析阶段提供对依赖关系图信息的访问
很难判断实际用例是什么。使用可能是答案。谢谢你,康斯坦丁,我担心情况会是这样。我将使用方面。我想我之所以下结论是因为CLI支持兄弟,我希望规则API也支持它。