Bazel 使用标签运行

Posted

技术标签:

【中文标题】Bazel 使用标签运行【英文标题】:Bazel run with tags 【发布时间】:2019-06-19 22:21:35 【问题描述】:

这是一个关于 Bazel 功能的一般性问题。 Bazel 是否具有基于标签一次运行多个测试的能力?

类似于如何 bazel build --build_tag_filter=example_test //path/... 构建所有带有标签“example_test”的二进制文件,这些文件位于 //path/...

我想知道是否有一个命令选项可以运行具有给定标签的多个二进制文件? 前任) bazel run --run_tag_filter=example_test //path/... 或仅此几行

【问题讨论】:

【参考方案1】:

Bazel run 一次只支持执行一个二进制文件。

但是,如果您想同时运行测试,您有几个选择:

    使用bazel test - 我假设你已经尝试过了。您可以使用--test_tag_filters,其效果与--build_tag_filterbazel build 的效果相同。然后,您可以使用--jobs--local_test_jobs 控制并发。 您还可以将bazel run--script_path 一起使用,这会导致Bazel 输出一个shell 脚本,其中包含独立于Bazel 运行目标的所有逻辑。理论上,您可以为每个目标创建一个脚本,然后并行执行它们。

【讨论】:

以上是关于Bazel 使用标签运行的主要内容,如果未能解决你的问题,请参考以下文章

一文学会使用Bazel构建C++项目

一文学会使用Bazel构建C++项目

一文学会使用Bazel构建C++项目

一文学会使用Bazel构建C++项目

Bazel + C++ 项目:如何为“运行”命令指定工作目录

让 Bazel 使用 python 3