Bazel 是什么

Bazel是一个构建工具,即一个可以运行编译和测试来组装软件的工具,跟Make、Ant、Gradle、Buck、Pants和Maven一样。

Bazel 的特点

  • 高级构建语言:Bazel使用抽象的,人类可读的语言以高语义级别描述项目的构建属性。
  • 快速可靠:Bazel缓存所有以前完成的工作,并跟踪对文件内容和构建命令的更改。 这样,Bazel知道何时需要重建某些内容,并且仅重建该内容。 为了进一步加快构建速度,您可以将项目设置为以高度并行和增量方式构建。
  • 多平台支持:Bazel在Linux,macOS和Windows上运行。 Bazel可以从同一项目为多个平台(包括台式机,服务器和移动设备)构建二进制文件和可部署的程序包。
  • 大规模: Bazel在处理包含10万多个源文件的构建时可保持敏捷性。 它可以与数以万计的多个存储库和用户群一起使用。
  • 可扩展:多语言支持。

    Bazel 适合做什么

    Bazel适合于构建和测试有如下特点的项目:

  • 有庞大代码库的项目

  • 用(多种)需要编译的语言写的项目
  • 在多平台上部署的项目
  • 有大量测试的工程

    参考

  1. Bazel 官网
  2. Bazel doc