Bazel 是 Googe 旗下的一款构建系统工具,六个月前Google 将其开源,目前取得里程碑式的进展,发布了其第一个beta 版本,增加了对数种语言和技术的支持。
Bazel 是 Google 用来构建自己项目的内部 Blaze 系统,在一个巨大的工作空间累积了数以亿计的代码行。Bazel 引入了Blaze 的一切,除了对一些内部项目的依赖性,并且它缺乏对构建集群的支持。Bazel 进行了性能、重现性和可扩展性的调优。虽然Bazel 只能在Linux 和Mac OS 系统上运行,但是它也可以为其它平台构建软件。
Bazel 创造性地增加了对构建和测试 Java、C++ 和 Objective-C 代码的支持,但是可以通过某种机制扩展到对其它语言的支持。现在,它可以支持 D、Groovy、JavaScript、Python、Rust、Scala 语言,可以为 Android、Docker、Google App Engine 和 iOS 构建项目。Bazel 可以引入外部资源依赖项,比如 GitHub 或者 Maven,同时可以通过使用 Skylark 扩展机制自定义构建规则进一步扩展。
Google 计划 2016 年 5 月推出 Bazel 1.0 版本,Bazel 团队计划增加对 Go、原生 protobuf 和 Android Studio 集成的支持。此外,虽然最初认为需要花费很多工作量,但是到那时 Bazel 将可以在 Windows 系统上运行,并全面支持构建和测试 Android 应用,支持在 Google 云测试实验室测试,以及其它在路线图中详细描述的。
评论