Bazel一次调用即可构建多个目标体系结构?

时间:2018-07-19 13:26:17

标签: bazel

是否可以将目标对象与特定的工具链/平台相关联?

我想bazel build ...并让bazel为许多不同的目标体系结构构建相同的cc_library。并且也跳过一些针对特定目标架构的目标。

很明显,如果我使用不同的标志多次运行bazel并标记要忽略的测试,则可以实现此目的。但这不是很方便。

2 个答案:

答案 0 :(得分:2)

除非最近发生了什么变化,否则恐怕您(至少在此刻之前)对此不走运。我对documentation的理解(以及我在该地区闲逛的回忆)是, bazel 最终将匹配给定工具链类型(和不匹配)的一个(或不)工具链。如果有多个可能的比赛,请选择列表中的第一个)。因此,对于给定的单个构建,您将无法为与多个工具链匹配的一个目标定义一个规则。

答案 1 :(得分:0)

您可以使用Bazel transitions强制目标以特定配置构建。

https://docs.bazel.build/versions/master/skylark/lib/transition.html

就跳过特定目标而言,这取决于依赖关系图的性质。最简单的方法是使用select语句不建立某些依赖项。

请参见https://docs.bazel.build/versions/master/be/functions.html#select