1.Bazel是什么?
Bazel是一个开源的构建和测试工具。它使用一种易读的高级构建语言。Bazel支持多种语言,并且可以为多种平台构建输出。
2.为什么使用Bazel?
1.高水平的构建语言。Bazel使用抽象、易读的语言在高语义级别上描述你的项目的构建属性。Bazel基于库、二进制文件、脚本和数据集的概念进行操作,避免了对编译器和链接器等工具的单独调用的复杂性。
2.高效且可靠。简单说来就是Bazel会对构建过的内容和命令建立缓存并监听其变化,可以很方便的进行增量式重构;
3.跨平台性。Bazel可以为多个平台构建二进制文件和可部署包。
4.灵活性。Bazel会依据大量的库执行构建任务。
5.可扩展性。Bazel支持多种语言和框架,并支持扩展。
3.如何使用Bazel?
2.设置项目的工作空间,其中包括项目的构建文件,构建生成的文件也会存放于此。
3.编写构建文件。使用Starlark编写构建文件。示例:
package(default_visibility = ["//visibility:public"])
cc_library(
name = "hello-lib",
srcs = ["hello-lib.cc"],