问题标签 [bazel-java]

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 投票
0 回答
66 浏览

java - 如何在单个 bazel 构建运行中构建一组带有一个 java_toolchain 的 java_libraries 和另一组带有另一个 java_toolchain 的集合

我目前正在bazel 4.2.1尝试建立一种习惯的某些java_library规则java_toolchain,而另一种习惯则很少。

据我了解,原因之一jvm_opts就是["--module-path", "$(location @ecj//:ecj.jar)"]只能在java_toolchain级别上设置。此外,我们希望能够java_toochains在单个构建运行中为不同的项目目录在同一个工作区中使用多个。

有没有办法在同一个工作区和同一个构建运行中指定一个 java_library 的 java_toolchain1 和一个不同的 java_library 的 java_toolchain2 ?

包含工具链的 BUILD.bazel 文件

包含 java_rules 的 BUILD.bazel 文件

0 投票
1 回答
23 浏览

bazel - bazel `java_test` 规则 - test.xml 仅在失败的分片上退出?

尝试bazel test ...使用远程执行和java_test规则运行。

我的测试有时成功,有时失败。这是另一个故事。

但我想为所有案例获取 test.xml 以检查每个测试的经过时间。test.xmlbazel-testlogs仅在某些分片失败时才存在。

我试过了

bazel 测试 --test_output=all --test_summary=detailed ...

但没有奏效。

即使成功,我如何才能获得所有 test.xml?

0 投票
1 回答
7 浏览

bazel-java - bazel - bazel 内的 JUnit4Runner 可以与 junit `Category` 一起使用吗?

Bazel 在 com.google.testing.junit 包中有他们的JUnit4Runner,它似乎基于 junit4。

我尝试使用带有Categroy注释的 Bazel JUnit4Runner。但对我不起作用。

1似乎支持testIncludeFilterRegexp但不支持 junitCategroy的.

那么来自 Bazel 的 JUnit4Runner 不支持Category吗?我不知道。任何帮助,将不胜感激。

0 投票
1 回答
75 浏览

java - 如何通过 Bazel 从 JUnit 测试执行中找到 Java 源代码文件的路径

我想通过 JUnit 测试在我们的 monorepo 代码库中检查一个文本文件。JUnit 测试通过bazel test命令执行。如何配置 Bazel 以将源代码目录路径(不是缓存的已编译 JAR 文件路径)传递给我的单元测试?它可能是 CLI 参数、环境变量等。

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 投票
0 回答
22 浏览

bazel - 是什么导致 Bazel 中相同目标的重复构建?

我们在 Bazel 中看到了相同目标的重复构建,并想知道是什么导致了这种情况。

这是一个示例输出:

我们无法确定问题所在。看起来这只发生在 Linux 上而不是 Mac 上。

目标a_targetcustom_rule目标。它应该独立于平台。

custom_rule_bin定义如下:

不同之处在于一个说“ for host ”而另一个没有。任何人都知道额外的“ for host ”构建是什么?

我确实感觉它与cfg自定义规则上的属性有某种关系。这可能来自一些示例代码。我们在所有生成代码的规则上使用相同的值。这个自定义规则很特别,因为它需要来自 Bazel 正在构建的应用程序的代码来运行和生成额外的代码。

任何见解都会理解为什么host会出错以及正确的值是什么。

任何想法/提示如何调试这个?

0 投票
0 回答
17 浏览

java - Bazel 在 Apple Mac M1 上构建失败

运行 bazel run //api/deployment:mynamespace.apply 时遇到以下问题如果有人也遇到同样的问题,请告诉我。

Bazel 版本:- 4.2.1 处理器:- Apple Mac M1

错误:/private/var/tmp/_bazel_akashtyagi/e7d0288ce9b933c729b37bd014ecd495/external/bazel_tools/third_party/jarjar/BUILD:10:30:没有这样的目标'@remote_java_tools_darwin//:JarJar':目标'JarJar'未在包''定义中声明由 /private/var/tmp/_bazel_akashtyagi/e7d0288ce9b933c729b37bd014ecd495/external/remote_java_tools_darwin/BUILD 引用并由 '@bazel_tools//third_party/jarjar:jarjar_import' 引用

0 投票
1 回答
21 浏览

bazel - bazel WORKSPACE 文件中的 RULES_JVM_EXTERNAL_TAG 和 RULES_JVM_EXTERNAL_SHA 是什么?

我正在尝试从 maven 迁移到 bazel。我在 bazel 文档中看到了教程,它有一个示例 WORKSPACE 文件。关联

有人可以解释一下这里发生了什么吗?给出的示例 WORKSPACE 文件的其余部分是不言自明的,我们在其中说明项目需要哪些 maven 依赖项。谢谢。

0 投票
0 回答
26 浏览

maven-plugin - 我们如何从 Bazel 运行 aspectj-maven-plugin 来编织类?

我有一个 Maven 项目,其中有一些使用 AspectJ 库编写的自定义注释。在 Maven POM 中,我们使用了一个 AspectJ 插件,它为带注释的类进行编译时编织。有没有办法在构建 JAR 时在 Bazel 中使用这个插件,或者是否有任何其他插件可以用于 AspectJ 和 Bazel?

如果有人已经为此提供了解决方案,或者可以引导我朝着正确的方向前进,那将非常有帮助。

0 投票
0 回答
42 浏览

java - java-language-server vscode 扩展 - 启动客户端失败

我正在尝试使用java-language-server vscode 扩展,但我收到扩展未启动的错误:

看起来该行正在尝试运行此脚本:dist\lang_server_windows.sh. 当我手动运行该脚本时,我收到此错误:

这让我认为在该脚本运行之前需要运行一些东西。

没有比这更深入的了。我听说过有关此扩展的好消息,但无法使其正常工作。有没有人遇到过这个问题或能够帮助我解决它?

我的java -version结果在

操作系统:Windows 11 Home v22000.493
VS Code:VSCode-Insiders(最新版)

附带说明一下,如果有人有一个很好的 Java 的 vscode bazel 设置,我很想听听有关设置的任何提示。