我最近一直在我的公司做一大堆bazel规则,并创建了一些特定于我公司的自定义规则。我注意到的一点是,在创建规则时,我经常使用定制的可传递数据传播来帮助我的规则完成工作。我的意思是:
attrs = {
'deps': attr.label_list(
providers=[
'transitive_srcs',
'transitive_gens',
'transitive_data',
'transitive_reqs',
'transitive_deps',
'transitive_builds'
],
allow_files=False
)
}
这最终导致的是它与标准bazel规则的其余部分不兼容。如果我的规则依赖于cc_binary()
,那么它期望cc_binary()
发送额外的可传递数据。关于我们应该如何建立规则,有什么约定吗?我很乐意遵循或创建一些规则,以便更容易分享规则。你知道吗
下面是我从中获取代码示例的地方。https://github.com/findmine/bazel-pex-rule
cc_.*
规则中。你知道吗相关问题 更多 >
编程相关推荐