一些命令参数
- version 输出bazel的版本信息
$ bazel --version
- build 构建指定的目标
$ bazel build 相对路径:target_name
- run 运行执行的目标
$ bazel run 相对路径:target_name -- --arg1 --arg2
注意:需要 --
,以便于bazel不会将 --arg1
和 --arg2
解释为bazel选项,而是将其视为运行二进制文件的命令行的一部分。
- test 构建并运行指定的测试目标
- shutdown 停止bazel服务器
- query 执行依赖项图表查询
$ bazel query --output location 'kind(genrule, deps(kind(".*_test rule", foo/bar/pebl/...)))'
上面指的是“显示构建PEBL树中所有测试所需的所有genrule的定义(在BUILD文件中)的位置。”其中 --output
用于选择输出格式。
- cquery 使用配置加载、分析和查询指定的目标
- aquery 分析指定的目标并查询操作图
- clean 移除输出文件,并视需要停止服务器
$ bazel clean --expunge
bazel clean
会类似于Make,会将所有配置的输出目录都清除。并且,每个bazel实例都与一个workspace工作区相关联,因此clean命令将删除对该工作区中使用该bazel实例进行的所有构建的所有输出。
而指定 --expunge
选项则会仅移除整个输出基树,该树除了包含build输出之外,还包含bazel创建的所有临时文件(例如,bazel实例的所有磁盘和内存跟踪记录)。完成清理后,bazel服务器也会停止,相当于 shutdown
命令。
或者也可以使用 --expunge_async
在后台进行彻底清空。在异步清除期间,可以放心地在同一客户端调用bazel命令。
-
sync 同步工作区文件中指定的所有代码库
-
coverage 为指定的测试目标生成代码覆盖率报告
-
dump 转储bazel服务器进程的内部状态
-
fetch 提取作为目标前提条件的外部代码库
$ bazel fetch //foo:bar //bar:baz
将提取构建 //foo:bar
和 //bar:baz
所需的依赖项。
$ bazel fetch //...
将提取某个工作区的所有外部依赖项。
- help 输出命令或索引帮助
- info 显示有关bazel服务器的运行时信息
- mobile-install 将目标安装的移动设备
- print_action 输出用于编译文件的命令行参数
- analyze-profile 分析build配置文件数据
参考:
https://bazel.google.cn/versions/6.1.0/docs/user-manual?authuser=19&hl=fr#aquery