什么是Bazel

Bazel是Google自己的构建工具,现在公开了Beta版本。Bazel内置了对构建客户端和服务端软件的支持,包括Android和iOS平台客户端应用程序。它也提供了一个可扩展的框架,可以用来开发你自己的构建规则。

为什么使用Bazel?

主要有以下几个方面:

  • 速度:通过Bazel优化的依赖性分析、高速缓存和对构建操作的并行执行,你可以得到快速、干净的构建。
  • 可扩展性:在Google,Bazel被成千上万的工程师用来构建重型的,关键的基础设施服务,以及Web应用程序。但是Bazel也适合用来构建较小的项目.
  • 灵活性:一套全面的、内置的规则可以你在各种语言和平台上构建软件,而不是在特定的某种语言或者平台上。Skylark是Bazel的可扩展的规则框架,它允许你为其他语言和平台开发并分享你自己的构建规则。
  • 正确性:Bazel通过检查你的依赖图中源文件的内容,而不仅仅是时间戳,来决定何时重新构建你的程序。因为增量构建几乎总是正确的,所以没有必要为了“万一”的情况来运行一个纯净的build,用以确保正确性。
  • 可靠性:当你用Bazel构建你的软件时,你正在运行在Google的工程师环境中已经完善和测试多年的相同的代码。
  • 重复性:构建只使用那些在构建文件中被显示声明的输入文件。在Linux中,Bazel在一个沙盒中运行相关的工具,这个沙盒只包含最小的必要的文件。即使测试都是在沙盒中运行,这确保了可预测的、和环境无关的结果。

学习还是应该从官网的Tutorial开始,访问:docs.bazel.getting-started

转载需保留链接来源:VCBeta.CN » 什么是Bazel

赞 (0)