Description
We have a binary which requires the javac.jar be present in its bootclasspath. Prior to bazel 0.4.4, the following invocation worked (but was obviously less than ideal):
jvm_flags = [
"-Xbootclasspath/p:$$JAVA_RUNFILES/bazel_tools/third_party/java/jdk/langtools/javac.jar",
],
With bazel 0.4.4 the file name specific path has broken, as the actual file name of the target is now javac-9-dev-r3297-1.jar
.
Ideally, we'd be able to use $(location @bazel_tools//third_party/java/jdk/langtools:javac_jar)
, however that expands to external/bazel_tools/third_party/java/jdk/langtools/javac-9-dev-r3297-1.jar
which is the build path and not the runtime path for that file. Needless to say, I'd like to avoid hard-coding another path which will break or fragile inline path-munging hacks. It seems like the correct answer is for $(location)
to use the runtime path when specified in jvm_flags
.