巴泽尔及物结构约定

2024-04-19 03:56:26 发布

您现在位置:Python中文网/ 问答频道 /正文

我最近一直在我的公司做一大堆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


Tags: deps规则公司attrslabelbazellistcc
1条回答
网友
1楼 · 发布于 2024-04-19 03:56:26
<>有一种方法可以为Java rules创建本地提供者,但不幸的是C++规则还没有。这是正在进行的工作。目前,最好的方法是使用宏来包装自定义规则,并将各种文件添加到cc_.*规则中。你知道吗

相关问题 更多 >