我很确定这个问题已经有文档记录了,但是我无法在任何地方找到答案。
如果我有以下内容:
如果我有以下内容:
```bazel_rule(
name = "foo",
srcs = ["foo.cpp"],
attr_bar = "bar"
)```
如果我在一个Starlark (.bzl)文件中有对这个规则的引用(//src:foo
),我如何查询目标以获取特定属性的值。例如,在此示例中,get_attribute("//src:foo", "attr_bar")
应返回"bar"。
java_library
的exports
属性:https://docs.bazel.build/versions/master/be/java.html#java_library.exports。你是在使用自己的 Starlark 规则、本地规则还是其他人的规则? - ahumeskyros_package
,我会添加一个名为exports
(或任何您想要的名称)的属性到ros_package
中,并在ros_package
的实现中读取exports
并将其放入提供程序中,例如RosInfo
。同样,在ros_package
的实现中,您需要从依赖项中读取RosInfo
提供程序,读取提供程序中的exports
并将其添加到规则内的依赖项中。 - ahumesky