问题标签 [bazel-aspect]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
48 浏览

bazel - Bazel:为什么 lint 因变量引用而失败?

我在 BUILD 文件中有这个 genrule,但 bazel build 因以下错误而失败:

在 genrule 规则的 cmd 属性中 //example:create_version_pom: $(BUILD_TAG) not defined

请问是什么原因,怎么解决?

0 投票
0 回答
29 浏览

bazel - Bazel 从不链接传递的 deps

我想将构建中的一些传递 dep 更改为从不链接,而无需修改实际的 dep。这可能吗?我认为这可能与方面有关,但我不确定,而且我看到的大多数方面的示例仅读取构建图。我遇到的问题是当您有这样的构建图时:

A -> B -> D(从不链接)

A -> C -> D

A -> D(从不链接)

A 是我的二进制文件。B 依赖于 D 从不链接,C 依赖于 D,但不从不链接。我希望 D 不会出现在最终的构建 A 中,但在这种情况下确实如此。我无法控制 B & C 部门,也不想改变行为,因为这个部门是与其他人共享的。此外,尝试将 D neverlinked 添加到 A 的部门,但这不起作用。似乎存在一个不是 neverlink 的单一传递 dep 将导致它仍然最终出现在构建中。

关于如何确保 D 不包含在构建中的任何想法?

0 投票
1 回答
36 浏览

bazel - 我可以将静态分析添加到 py_binary 或 py_library 规则吗?

我有一个使用 bazel 构建一堆 Python 代码的仓库。我想在构建中引入各种风格的静态分析,如果这些静态分析抛出错误,构建会失败。做这个的最好方式是什么?

例如,我想声明如下内容:

如果 foo.py 中存在 mypy/flake/etc 错误,则在构建文件中并使其出错。我希望能够逐步做到这一点,一次将库/二进制文件转换为静态分析一个目标。我不确定是否应该通过新规则、宏、方面或其他方式来执行此操作。

本质上,我想我是在问如何在构建 py_binary/py_library 时运行附加命令,如果该命令失败则失败。

我可以创建自己的 py_library 规则版本并让它在实现中运行静态分析,但这似乎很容易出错(我的猜测是 native.py_library 相当复杂?)而且似乎没有成为在自定义规则中实例化 native.py_library 的一种方式。

我也玩过一些宏,但也无法让它工作。我认为我的问题是宏实际上并没有指定新命令,只有新目标,我不知道如何使静态分析目标与我感兴趣的 py_library/py_binary 一起生成。

0 投票
1 回答
17 浏览

bazel - Bazel 构建:添加不在“WORKSPACE”中的额外依赖项

我想在一个项目上写一些分析脚本,并使用action_listeneraspect采取行动。但是,最好不要修改项目文件。有没有办法在不更改WORKSPACE文件的情况下添加一些外部依赖项?