如何从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,/…)))

我希望能够在Bazel构建文件中执行以下操作:

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也支持它。