是否可以将目标对象与特定的工具链/平台相关联?
我想bazel build ...
并让bazel为许多不同的目标体系结构构建相同的cc_library。并且也跳过一些针对特定目标架构的目标。
很明显,如果我使用不同的标志多次运行bazel并标记要忽略的测试,则可以实现此目的。但这不是很方便。
答案 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