Bazel

This article introduce the Bazel tool.

Overview

Bazel 简介

2015年,Google在Blaze的基础上发布了其开源移植版本,并命名为Bazel。

Bazel 是一款可自动执行软件构建和测试的工具。支持的 build 任务包括运行编译器和链接器以生成可执行程序和库,以及为 Android、iOS 和其他目标环境组装可部署的软件包。Bazel 与 Make、Ant、Gradle、Buck、Pants 和 Maven 等其他工具类似。

Repo

GitHub: bazelbuild/bazel

Commands

命令行参考文档 使用 Bazel 构建程序

bazel [<startup options>] <command> [<args>]
bazel [<startup options>] <command> [<args>] -- [<target patterns>]
Command Description
help 输出命令的帮助或索引。
version 输出 Bazel 的版本信息。
license 输出相应软件的许可。
fetch 提取目标所需的外部代码库。
build 构建指定目标。
run 运行指定的目标。
coverage 为指定的测试目标生成代码覆盖率报告。
test 构建并运行指定的测试目标。
clean 移除输出文件,并可选择停止服务器。
canonicalize-flags 对 Bazel 选项列表进行规范化处理。
query 执行依赖关系图查询。
aquery 分析给定的目标,并查询操作图。
cquery 加载、分析和查询具有配置的指定目标。
mod 查询 Bzlmod 外部依赖关系图,。
info 显示有关 Bazel 服务器的运行时信息。
print_action 输出用于编译文件的命令行实参。
dump 转储 bazel 服务器进程的内部状态。
vendor 将外部代码库提取到由标志 –vendor_dir 指定的文件夹中。
mobile-install 面向移动设备的安装目标。
shutdown 停止 bazel 服务器。

Project Structure

Bazel 教程:构建 C++ 项目

References

Bazel