Tensorflow Bazel构建命令-可以跳过;测试“;目标和规则?

Tensorflow Bazel构建命令-可以跳过;测试“;目标和规则?,tensorflow,bazel,Tensorflow,Bazel,我希望运行bazel build:…all命令并跳过test规则和目标。这可能吗 我可以设想两种方法来区分测试,一种是通过它们的类型(在我的例子中是cc_测试),另一种是通过名称上的模式匹配,因为我正在处理的项目在所有测试规则/目标后面加上了“_测试” 请不要发表评论,告诉我应该始终在编译时构建和运行测试,除非Bazel实际上在技术上不可能使用“all”通配符,也不可能过滤掉所有测试。我们有一个分层系统,其中构建和测试一起运行,成功后,另一个系统只构建最小的工件 有。它非常强大,因此我建议您通读

我希望运行
bazel build:…all
命令并跳过
test
规则和目标。这可能吗

我可以设想两种方法来区分测试,一种是通过它们的类型(在我的例子中是cc_测试),另一种是通过名称上的模式匹配,因为我正在处理的项目在所有测试规则/目标后面加上了“_测试”

请不要发表评论,告诉我应该始终在编译时构建和运行测试,除非Bazel实际上在技术上不可能使用“all”通配符,也不可能过滤掉所有测试。我们有一个分层系统,其中构建和测试一起运行,成功后,另一个系统只构建最小的工件

有。它非常强大,因此我建议您通读文档页面,以便精确地设计查询命令。为了快速回答您的具体问题,我认为这将对您有用:


bazel查询'/。。。除了善良(.*测试,//…)| xargs bazel build

非常感谢!我确实看到了查询语言,它显然很强大,但是文档在报告和分析的上下文中讨论了它。它甚至说“人们如何使用它”,但没有提到将列表管道化到bazel构建命令。明亮的它让我克服了最初的问题,我仍然惊讶地看到它构建了
external/com\u google\u googletest/libgtest。所以
噢,但是xargs在windows上不工作。尝试组合dos备选方案。对于(“‘bazel查询类型(cc_库,…:all)”)do(bazel--批生成--cpu=x86_windows_msvc%a)中的/f%a,请注意,此方法的性能存在显著差异。bazel build命令将针对每个目标启动并运行一次。它不能从并发构建中获益,并且通常比单独使用
bazel build
命令时慢。不能使用testOnly属性来过滤标签吗?