blade build
v2.0 release
██████╗ ██╗ █████╗ ██████╗ ███████╗
██╔══██╗██║ ██╔══██╗██╔══██╗██╔════╝
██████╔╝██║ ███████║██║ ██║█████╗
██╔══██╗██║ ██╔══██║██║ ██║██╔══╝
██████╔╝███████╗██║ ██║██████╔╝███████╗
╚═════╝ ╚══════╝╚═╝ ╚═╝╚═════╝ ╚══════╝
英语 | 简体中文
一个易于使用、快速且现代化的构建系统,用于大规模 monorepo 代码库中基于主干的开发。
首先,让我们看一个很酷的演示:
master分支上的代码是开发版本,应该被视为alpha版本。请优先在正式环境中使用标签上的版本。我们会不定期向标签发布大规模内部代码库上经过验证的版本。
2.0 版本已进入候选版本!它包括以下显着变化:
请按照升级注意事项进行升级。
Blade 被设计为一个现代构建系统。它功能强大且易于使用。它支持构建多种语言,如c/c++、java、python、scala、protobuf等。自动分析目标依赖关系,并将编译、链接、测试(包括增量测试和并行测试)和静态代码检查集成在一起。它旨在提高项目构建规则的清晰度和简单性。
使用 Blade,您只需输入一个简单的命令行即可编译、链接和测试多个目标。例如:
递归地构建和测试公共目录中的所有目标。
blade test common...
构建并测试 32 位目标
blade test -m32 common...
以调试模式构建和测试目标
blade test -pdebug common...
您可以将这些标志组合在一起:
blade test -m32 -pdebug common...
Blade 的灵感来自于 Google 关于其构建系统的公开信息。这里有一篇来自Google官方博客的参考文章:build in cloud: how build system work。
2015 年晚些时候,他们发布了它并部分重写为bazel
开源构建系统。
Blade内部生成Ninja脚本,所以当然依赖于ninja。
Python是一门功能强大且易于使用的语言,我们喜欢Python。
一些Google开源的库,比如protobuf,
测试,
gperftools 方便且功能强大,我们集成了这些库。