bazelbuild / bazelbuild/rules_java

`rules_java` seem to not work with `--nolegacy_external_runfiles` flag

未关闭
#203 1 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看
P3
主要语言
Starlark
星标
103
派生
102
PR 合并指标
30 天内没有已合并 PR

描述

The flag docs state:
```# Do not build runfiles symlink forests for external repositories under
# `.runfiles/wsname/external/repo` (in addition to `.runfiles/repo`). This reduces runfiles &
# sandbox creation times & prevents accidentally depending on this feature which may flip to off by
# default in the future. Note, some rules may fail under this flag, please file issues with the rule
# author.
# Docs: https://bazel.build/reference/command-line-reference#flag--legacy_external_runfiles
```

If the flag is added to `.bazelrc`, tests fail with java not found:
```
/private/var/tmp/_bazel_Dan/30d3419be7d4a27db6dff5dc2d690288/sandbox/darwin-sandbox/5542/execroot/_main/bazel-out/darwin_x86_64-fastbuild/bin/plugin-bazel/src/plugin_tests.runfiles/_main/plugin-bazel/src/plugin_tests: line 409: /private/var/tmp/_bazel_Dan/30d3419be7d4a27db6dff5dc2d690288/sandbox/darwin-sandbox/5542/execroot/_main/bazel-out/darwin_x86_64-fastbuild/bin/plugin-bazel/src/plugin_tests.runfiles/_main/external/rules_java~~toolchains~local_jdk/bin/java: No such file or directory
```

贡献指南

打开贡献指南

调研方向

Reproduce the failure by adding --nolegacy_external_runfiles to .bazelrc and running the affected plugin tests. Start with the generated plugin_tests.runfiles script around line 409 and the external rules_java local JDK path; done means the Java tests locate java and pass with the flag enabled.

由索引模型根据 Issue 内容生成。

评估

技术栈
java
领域
build-system
Issue 类型
缺陷
难度
4/5
预计耗时
3-5 天
活跃度
停滞
描述清晰度
基本清楚
新手友好度
35/100

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。