如何解决如何避免跨 bazel 配置重复工作?
我正在开发一个 bazel 项目,该项目使用了 bazel 中内置的许多工具作为执行操作的输入。由于这些工具是在 'exec' 配置中构建的,它们依赖于在相同的 'exec' 配置中构建的库,此外我最终在 'target' 配置中构建库(因为这就是我想要的验证构建)。在我的正常情况下,这两种配置都是运行 bazel 的主机。在这种情况下,我希望能够避免两次构建所有这些库,但我似乎无法弄清楚如何做到这一点。当试图弄清楚我是否可以使配置完全匹配时,似乎我不能,因为有“构建选项”://command_line_option:is exec configuration
两者不同。
这是通过以不同的方式解决问题还是我只需要处理两次编译我的所有代码?
解决方法
有一个选项 --nodistinct_host_configuration
,可以折叠目标和主机配置。但是,它对 exec 配置无效。此外,Bazel 上游表示并不真正支持此选项。 (例如,参见https://github.com/bazelbuild/bazel/issues/5572.)
在控制重复工作量的同时允许配置灵活性是一个棘手的问题,upstream's roadmap 未来需要更好地解决这个问题。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。