扫码阅读
手机扫码阅读

Bazel 7 发布:全新模块化依赖管理、无字节构建与多目标构建性能提升

257 2024-07-04

我们非常重视原创文章,为尊重知识产权并避免潜在的版权问题,我们在此提供文章的摘要供您初步了解。如果您想要查阅更为详尽的内容,访问作者的公众号页面获取完整文章。

在 BazelCon 23 上,Bazel 7 的发布引进了多个新功能。这些包括模块化外部依赖管理系统 Bzlmod、无字节构建模式(BwoB)的优化以及基于 Project Skymeld 的构建性能改善。

Bzlmod 取代了旧的 WORKSPACE 机制,它允许定义模块和版本依赖,构建依赖图,运行扩展并定义 repos。Bzlmod 现为默认选项,而 Bazel 7 依然兼容之前的系统,但鼓励开发者在 Bazel 8 出现前迁移到新系统。

BwoB 模式通过仅下载必要的中间文件子集,减少了远程构建过程中的数据传输。此优化对于网络连接较差的环境特别有帮助,现已成为默认选项。

Skymeld 通过消除分析和执行阶段之间的障碍,允许目标独立完成分析后立即执行,从而提高了多目标构建的速度。

针对 Android 和 C++ 规则,Bazel 7 默认启用了基于平台的工具链解析,简化了工具链解析 API,避免了需要语言特定标志。Android 项目应放弃 --fat_apk_cpu 标志,转而使用 --android_platforms。

作者 Sergio De Simone 是资深软件工程师,在多个项目和公司有丰富经验,目前在 BigML, Inc. 负责 iOS 和 macOS 的开发。

原文链接:https://www.infoq.com/news/2023/12/bazel-7-released/

声明:本文为 InfoQ 翻译整理,未经许可禁止转载。

想要了解更多内容?

为一线互联网公司核心技术人员提供优质内容。科技圈的观察者,前沿技术的传播者。

98 篇文章
浏览 13.7K
加入社区微信群
与行业大咖零距离交流学习
软件研发质量管理体系建设 白皮书上线