Bazel:谷歌构建工具现在是开源的
Bazel,谷歌用来构建其大部分软件的工具已经部分开源。根据谷歌的说法,barzel的目标是构建“快速可靠的代码”,并且“随着公司的发展,继续扩展其软件开发实践的能力对谷歌来说非常重要”。
在构建Bazel之前,谷歌使用Makefiles来构建其软件。这些往往很大,导致“建设缓慢且不可靠”。此外,与Makefiles相比,Bazel提供了更高级的概念,如“Java测试”、“c二进制”、“目标平台”和“主机平台”。
这种抽象级别是由BUILD提供的,BUILD是一种将项目描述为小型互连库、二进制文件和测试的集合的语言。
除了Bazel提供的其他优势外,谷歌也强调了自己的优势。
由于设计符合谷歌自身的要求,barzel被认为特别适合具有以下特点的项目:拥有庞大的共享代码库;支持多个平台;用多种语言书写;拥有丰富的测试套件。
值得注意的是,barzel不会完全开发为开源。事实上,谷歌表示,“我们有相当多的代码不是开源的;就规则而言,目前只有~10%的规则是开源的。”谷歌将实施的政策是基于这样一种理解,即一个核心贡献者群体将积极参与barzel项目,“外部贡献者并不积极支持该项目,而只是贡献个人的改变。”
InfoQ已经联系了Bazel的核心贡献者团队,了解使用Bazel有望提高哪些速度,以及有哪些功能可以进一步将Bazel与近期的其他开源竞争对手(如Buck和Pants of Face book)区分开来。如果他们回复,此帖子将被更新。
Bazel运行在基于Linux的系统和OS X上,但目前Windows上不支持。谷歌“目前没有投资这个港口的计划”,因为这将是一项巨大的努力。
标签: