Bazel 简介

MuYusen 于 2023-08-21 发布 本文总阅读量

为何选择 Bazel?

Bazel 是一款与 Make、Maven 和 Gradle 类似的开源构建和测试工具。 它使用人类可读的高级构建语言。Bazel 支持多种语言的项目,可为多个平台构建输出。Bazel 支持跨多个代码库和大量用户的大型代码库。

益处

Bazel 具有以下优势:

使用 Bazel

除了构建之外,您还可以使用 Bazel 运行测试并查询 build 以跟踪代码中的依赖项。

Bazel 构建流程

运行构建或测试时,Bazel 会执行以下操作:

由于之前的所有构建工作都已缓存,因此 Bazel 可以识别并重复使用缓存的工件,并且只会重新构建或重新测试发生更改的内容。为了进一步强制执行正确性,您可以设置 Bazel,以通过沙盒化的方式运行构建和测试,从而最大限度地减少偏差并最大限度地提高可重现性。

操作图

操作图表示构建工件、它们之间的关系以及 Bazel 将执行的构建操作。借助此图,Bazel 可以跟踪文件内容的更改以及操作(例如构建或测试命令)的更改,并且了解之前执行了哪些构建工作。通过该图表,您还可以在代码中轻松跟踪依赖项。