Skip to content

Commit d789f0a

Browse files
authored
Add runtime_jdk to scala_binary (#1380)
* Add runtime_jdk to scala_binary
1 parent cd556cc commit d789f0a

File tree

3 files changed

+24
-0
lines changed

3 files changed

+24
-0
lines changed

scala/private/rules/scala_binary.bzl

+4
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,10 @@ _scala_binary_attrs = {
5252
"main_class": attr.string(mandatory = True),
5353
"classpath_resources": attr.label_list(allow_files = True),
5454
"jvm_flags": attr.string_list(),
55+
"runtime_jdk": attr.label(
56+
default = Label("@bazel_tools//tools/jdk:current_java_runtime"),
57+
providers = [java_common.JavaRuntimeInfo],
58+
),
5559
}
5660

5761
_scala_binary_attrs.update(launcher_template)

test/BUILD

+9
Original file line numberDiff line numberDiff line change
@@ -471,8 +471,17 @@ scala_specs2_junit_test(
471471
"//test/src/main/scala/scalarules/test/twitter_scrooge:justscrooge2b_binary",
472472
"//test/src/main/scala/scalarules/test/large_classpath:largeClasspath",
473473
"//test:test_scala_proto_server",
474+
"//test:scala_binary_jdk_11",
474475
]]
475476

477+
# Make sure scala_binary respects runtime_jdk on bazel run
478+
scala_binary(
479+
name = "scala_binary_jdk_11",
480+
srcs = ["ScalaBinaryJdk11.scala"],
481+
main_class = "scalarules.test.ScalaBinaryJdk11",
482+
runtime_jdk = "@bazel_tools//tools/jdk:remote_jdk11",
483+
)
484+
476485
# Generate a file containing the rootpaths of a Scala binary.
477486
genrule(
478487
name = "rootpath-script",

test/ScalaBinaryJdk11.scala

+11
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
package scalarules.test
2+
3+
object ScalaBinaryJdk11 {
4+
def main(args: Array[String]): Unit = {
5+
val expectedMajorVersion = "11";
6+
val version = System.getProperty("java.version");
7+
val majorVersionMatches = version.startsWith(expectedMajorVersion + ".");
8+
val failureMsg = "Expected major version of " + expectedMajorVersion + " but got version: " + version;
9+
require(majorVersionMatches, failureMsg);
10+
}
11+
}

0 commit comments

Comments
 (0)