当前位置: 首页 > 知识库问答 >
问题:

如何显示压缩到宏中的所有显式bazel目标

祖新觉
2023-03-14

我正在诊断一些代码根,它由一些由自定义bazel规则支持的bazel宏支持。

#projX/BUILD
macro_foo(
    name = "foo_data"
    ...
)

py_binary(
    name = "client_foo_data",
    deps = [":foo_data"]
    ...
)

如果我构建原始宏目标,代码gen实际上并不执行。如果我构建的目标是对foo_data的反向依赖,那么codegen就会执行。

bazel build //projX:foo_data # doesn't trigger codegen
bazel build //projY:client_foo_data # does codegen

我如何才能找出所有不同的目标名称包装在引擎盖下为给定的目标?我怀疑我需要构建其中一个特定的变体来刺激代码;某种bazel查询或在宏下解压缩目标的东西应该可以做到这一点。

共有1个答案

欧阳翔
2023-03-14

bazel查询--output=build//projx:all将在宏和glob展开后打印出该包中的所有目标。它对每个目标的宏扩展堆栈跟踪都有注释,包括宏定义的文件名和行号。

//projx:all是通配符的形式,它指定该包中的所有目标。宏只能在单个包中生成目标,因此该包将始终包括从该宏调用生成的所有目标。

 类似资料:
  • 问题内容: 很快 返回所有模式 返回foo模式的所有表 有没有一种简单的方法可以从Presto中的所有模式返回表? 问题答案: 您可以使用

  • 问题内容: 我有一个ZIP文件目录(在Windows计算机上创建)。我可以使用手动解压缩它们,但是如何通过外壳解压缩当前文件夹中的所有ZIP文件呢? 使用Ubuntu Linux服务器。 问题答案: 根据以下链接,这可以在bash中运行: 解压缩\ *。zip

  • 问题内容: 我有两个列表,当我用下面的代码绘图时,x轴只显示 最多12个(最多15个)。我可以知道如何显示x列表中的所有值吗 x轴?提前谢谢。 如果我在“set xticklabels”函数中设置minor=True,它将显示所有 x=2,4,6,8,…,16。。。但我想要所有的价值观。 P、 我的x轴没有排序,应该显示如图所示。 问题答案: Add this: To your code befo

  • 问题内容: 在我的应用中有一段时间,无论用户输入了什么内容,我都必须强制显示建议列表中的所有项目。我怎样才能做到这一点? 我尝试使用过滤进行某些操作,但是对我而言,作为初学者进行过滤实在太复杂了,我尝试在没有任何运气的情况下搜索初学者教程进行过滤。也许,有一种更简单的方法可以强制显示所有建议项? 编辑:基本上我的想法是,当用户键入列表中未包含的内容时,它将显示他可以拥有的所有可用选项。 我已经找到

  • 我在中有10个标记。我想尽可能地放大,让所有的标记都在视野中?在早期版本中,这可以通过实现,但在v2中,我不知道该如何实现。进一步,我知道需要可见的圆的半径。

  • 问题内容: 我想知道如何列出对象可用的所有方法,例如: 这应该打印: 问题答案: 您可以用来获取属于某个对象的所有属性(无论是否可枚举)。例如: 然后,您可以使用来仅获取方法: 在ES3浏览器(IE8及更低版本)中,内置对象的属性不可枚举。像和不是内置的对象,它们是由浏览器定义的,很可能是通过设计枚举的。 从ECMA-262第3版开始: 全局对象 有一个唯一的全局对象(15.1),它在控制进入任何