Bazel:谷歌构建工具现在是开源的

巴泽尔(Bazel),谷歌用来构建其大部分软件的工具已经部分开源。根据谷歌的说法,巴泽尔的目标是建立“快速可靠的代码”,并且“对于谷歌在公司成长的过程中继续扩大其软件开发实践的能力至关重要”。

在构建Bazel之前,谷歌使用Makefiles构建了它的软件。这些往往很大,导致“缓慢和不可靠的构建”。此外,与Makefiles相比,Bazel提供了更高级的概念,如“Java测试”、“C二进制”、“目标平台”和“主机平台”等。

这一抽象层次是由BUILD提供的,一种语言“将项目描述为小型互连库、二进制文件和测试的集合”。

除Bazel提供的其他优势外,谷歌还强调了它的优势。

由于设计符合谷歌自己的要求,巴泽尔被认为特别适合于具有以下特性的项目:具有大型共享代码库;支持多个平台;用多种语言编写;具有广泛的测试套件。

值得注意的是,巴泽尔不会被完全开发为开源。事实上,谷歌表示,“我们有相当数量的代码不是开源的;就规则而言,目前只有~10%的规则是开源的。”谷歌将实施的政策是基于这样的认识,即一个核心贡献者小组将积极致力于巴泽尔项目,而“外部贡献者不是积极支持该项目,而只是贡献个人的改变。”

InfoQ已经与Bazel的核心贡献者小组取得了联系,以了解使用Bazel可以期望什么样的速度得到提高,以及哪些功能进一步将Bazel与Face book的Buck和Pants等其他最近开源的竞争对手区分开来。如果他们作出回应,这个帖子将被更新。

Bazel运行在基于Linux的系统和OS X上,但目前在Windows上不支持它,谷歌“目前还没有计划在这个端口投资”,因为这将是一项重大的努力。

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。