问题标签 [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.
bazel - Bazel:为什么 lint 因变量引用而失败?
我在 BUILD 文件中有这个 genrule,但 bazel build 因以下错误而失败:
在 genrule 规则的 cmd 属性中 //example:create_version_pom: $(BUILD_TAG) not defined
请问是什么原因,怎么解决?
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 不包含在构建中的任何想法?
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 一起生成。
bazel - Bazel 构建:添加不在“WORKSPACE”中的额外依赖项
我想在一个项目上写一些分析脚本,并使用action_listener
或aspect
采取行动。但是,最好不要修改项目文件。有没有办法在不更改WORKSPACE
文件的情况下添加一些外部依赖项?