问题标签 [bazel-extra-action]
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 - extra_actions 之间的信息传递
我有一个action_listener
:
在foo_action_pre
中,我设置
以便将信息传递给foo_action_post
.
现在,当我添加$(location foo_action_pre_data)
到Bazelcmd
的foo_action_post
抱怨中时,它不是先决条件。
无论我是否添加它tools
,data
它都不会被检测为先决条件。如何声明正确的依赖关系?
target - 如何移动 bazel 构建目标?
所有 bazel 规则都将构建目标放在特定位置。
我可以通过 找到目标bazel-bin/
,但是它们都递归地分散在我不关心的其他非目标文件中。
如何编写将所有程序放在一个bin/
目录中的构建规则?
我是否想编写自己的程序来遍历bazel-bin/
所有程序并将其同步到类似的东西usr/local/bin
,或者我可以做一个查询吗?我希望它只是构建规则的一部分,但默认规则似乎不支持这样的东西。而且我不喜欢必须运行构建,然后运行第二步,将我的所有二进制文件同步到同一个文件夹的想法。
推荐的方法是什么?想要所有程序和所有测试在同一个特定目录中是很常见的。
eclipse - 如何为 Bazel 项目开发 Eclipse?
有没有办法将 ecrise 用于 bazel 项目,有指南https://github.com/bazelbuild/eclipse。Bazel 的 Eclipse 插件,但我在安装时找不到 Eclipse 4 Bazel
tensorflow - bazel_0_13 + rpi3 -> 构建成功还是失败?
我正在交叉编译 bazel 以用于 TensorFlow。
覆盆子 pi3 的 Bazel
Bazel-0.13 主机:Ubuntu 16.04 LTS x86-64 目标:Raspbery PI3 工具链:本地安装的 rpi3 工具链
为 HOST 构建 bazel。
构建成功
为交叉编译构建 bazel。
1-> 以下 bazel wiki 页面。
后续步骤:
在 $(BAZEL_HOME_TOP)/WORKSPACE 中添加了上面的片段部分
ar、as、cpp、gcov、ld、objcopy、objdump 和 strip 都有与 nm 非常相似的包装脚本。
对于上述包装脚本,我创建了 BUILD 文件。
为 CROSSTOOL 编写 BUILD 文件:
使用新工具链构建:
现在我提到的所有步骤。如果上述步骤正确,我应该得到 ARM 可执行格式的 bazel 二进制文件。谁能指出我错过了什么。
问候,GBiradar
dependencies - 有没有办法为特定规则生成 deps 列表?
我有一个程序可以查看我的语言的源文件,并deps=[]
为其构建规则的值导出正确的值。
我正在寻找一种方法来替换我所有现有的规则(看起来像这样):
改为:
通过调用我的程序,在规则内部解析了相同的指定 deps。
理想情况下,build_lib_new
这只是一个包装规则build_lib
:
现在我被困住了。不幸的是,我认为 bazel 想在分析阶段预先了解所有依赖项。我看到它们是运行 shell 命令的操作,但我相信这些是在创建依赖图之后发生的。
我是否必须在 bazel 之外运行外部工具来重写BUILD
文件?
java - 如何在 bazel 构建中调试 java_library 规则?
我挖掘了选项和源代码,但仍然不确定如何调试 bazel 构建,特别是 java。
也有人知道我如何更改 bazel,在本地构建它并在构建时使用它来验证。我找到了 bazel 调用: exec -a "$0" "${BAZEL_REAL}" "$@"
其中 BAZEL_REAL 是二进制文件:/usr/local/Cellar/bazel/0.15.2/libexec/bin/bazel-real
但这并没有详细解释它是如何开始的以及我如何调试它......
就像在构建我的代码时可以跳入和调试 com.google.devtools.build.lib.bazel.rules.java.BazelJavaLibraryRule 一样吗?就像我用 Maven 构建代码一样,我可以做 mvnDebug。
bazel - Bazel:一个extra_action 的输出可以用作后续extra_action 的输入吗?
我在 Bazel 构建中使用了两个后续的 extra_action。我想知道是否有办法指定第一个 extra_action 生成的输出文件应用作另一个 extra_action 的输入(两者都在同一构建期间执行)?
我在 bazel 编译时使用 bazel extra_action 执行 lint-tool。效果很好。对于源代码文件的每个 lint,lint 工具将生成一个特殊的输出:*.lob。然后我想在后续操作中再次执行该工具。链接步骤可能是一种选择,因为那时所有编译都已准备就绪(但如果有人知道其他要使用的操作,如果您能分享,我将不胜感激)。这一次,所有 .lob 文件都被整理在一起,以确保它们彼此一致。我想知道是否有办法指定第一个 extra_action 的输出应该是另一个 extra_action 的输入(两者都在同一个构建期间执行)?
bazel - 如何在 Bazel 规则中运行其他规则的可执行文件?
假设我有一个自定义规则,my_object
. 看起来像:
其中的标签deps
是rules_docker
的container_push
规则。
我希望能够bazel run //:foo
让它在deps
列表中推送 Docker 映像。我该怎么做呢?
这似乎是一个特定情况,通常只是希望在自定义规则的可执行文件中运行其他规则的可执行文件。
cmd - Bazel genrule 检查位置表达式是否扩展为无文件
我正在genrule
用 Bazel 写一个。我有一个文件,其中包含一个可能存在也可能不存在的文件夹。如果有,我想引用它,但如果没有,则忽略它。我如何在genrule
之前的 cmd 部分进行条件检查$(location my_file_that_may_or_may_not_exist)
?
当文件不存在时,我得到
$(location)
表达式扩展为无文件错误。这是意料之中的,所以我想避免它
linux - 从每个 bazel 测试中连接测试结果的方法?
我有一个运行一些 Bazel 测试的构建文件,就像 Azure 管道上的这样
但是当我进入 bazel-test 目录时,我找不到这些测试(我在寻找 test.xml)。我的猜测是 bazel 沙盒会删除它,但我可能是错的。我想要做的就是提取这些测试中的每一个测试的结果。bazel 中是否有一个标志可以让我创建包含每个测试状态的详细测试结果?