工作需要,现在要学习Bazel,这篇文章会持续更新,记录下Bazel的基本知识。欢迎讨论。
什么是Bazel
Bazel是Google开发的,用来代替Make的一个自动化构建工具。
相对于用MakeFile,Bazel构建速度更快,而且可以识别改动过的(modified)代码,构建时,没有改动的代码不会重新构建,而是使用之前构建过的。 有改动的部分会重新构建。这也是它更快的原因。而且还支持远程(remote)构建。
可以大大提高代码在pipeline的通过速度,Google自从用了Bazel后,每天merge到master的代码量大大提高。这也是我们公司要该用Bazel的原因。
Bazel 安装
公司的电脑是已经安装好的。自己安装的话,可以到官网下载。
所有的Docs也可以在官网中找到。
Bazel 简单入门
直接看官网文档,或者
https://www.jianshu.com/p/4e778df3c13b
这个是官网简单入门的中文翻译版。大概扫了一眼,感觉还不错。
Bazel的BUILD文件可以从CMakeList 通过一些script转换而来,也可以直接手写。就经验而说,直接手写会更好一些,auto generated BUILD 文件会更复杂,而且也容易包含一些不必要的部分。