From 96411d1abbf50c4ebd0c0b9158f84adf1219fffc Mon Sep 17 00:00:00 2001 From: David Ostrovsky Date: Mon, 23 Nov 2020 20:04:07 +0100 Subject: [PATCH] Bazel: Allow to build and run the tests with JDK 15 To avoid JDK specific bugs in future, like Bug: 568950, and given that upcoming Bazel release 4.0.0 added support to JDK 15 java toolchain, add definition for remote JDK 15 to WORKSPACE file and add build and test instructions. To build and execute the tests with JDK 15 on Linux run: $ bazelisk test \ --java_toolchain=@remote_java_tools_linux//:toolchain_jdk_15 \ --host_java_toolchain=@remote_java_tools_linux//:toolchain_jdk_15 \ --javabase=@openjdk15_linux_archive//:runtime \ --host_javabase=@openjdk15_linux_archive//:runtime \ //... To build and execute the tests with JDK 15 on Mac Os X run: $ bazelisk test \ --java_toolchain=@remote_java_tools_darwin//:toolchain_jdk_15 \ --host_java_toolchain=@remote_java_tools_darwin//:toolchain_jdk_15 \ --javabase=@openjdk15_darwin_archive//:runtime \ --host_javabase=@openjdk15_darwin_archive//:runtime \ //... To skip the options on the command line, put them in ~/.bazelrc file: build --java_toolchain=@remote_java_tools_linux//:toolchain_jdk_15 build --host_java_toolchain=@remote_java_tools_linux//:toolchain_jdk_15 build --javabase=@openjdk15_linux_archive//:runtime build --host_javabase=@openjdk15_linux_archive//:runtime Change-Id: I79d5e99f0c731847a82ce7d4c410855434d85f8d Signed-off-by: David Ostrovsky --- .bazelversion | 2 +- WORKSPACE | 28 ++++++++++++++++++++++++++++ 2 files changed, 29 insertions(+), 1 deletion(-) diff --git a/.bazelversion b/.bazelversion index 1545d9665..8faff82c7 100644 --- a/.bazelversion +++ b/.bazelversion @@ -1 +1 @@ -3.5.0 +4.0.0rc2 diff --git a/WORKSPACE b/WORKSPACE index 7651cba4e..ad04d14b2 100644 --- a/WORKSPACE +++ b/WORKSPACE @@ -27,6 +27,34 @@ load( "maven_jar", ) +http_archive( + name = "openjdk15_linux_archive", + build_file_content = """ +java_runtime(name = 'runtime', srcs = glob(['**']), visibility = ['//visibility:public']) +exports_files(["WORKSPACE"], visibility = ["//visibility:public"]) +""", + sha256 = "0a38f1138c15a4f243b75eb82f8ef40855afcc402e3c2a6de97ce8235011b1ad", + strip_prefix = "zulu15.27.17-ca-jdk15.0.0-linux_x64", + urls = [ + "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu15.27.17-ca-jdk15.0.0-linux_x64.tar.gz", + "https://cdn.azul.com/zulu/bin/zulu15.27.17-ca-jdk15.0.0-linux_x64.tar.gz", + ], +) + +http_archive( + name = "openjdk15_darwin_archive", + build_file_content = """ +java_runtime(name = 'runtime', srcs = glob(['**']), visibility = ['//visibility:public']) +exports_files(["WORKSPACE"], visibility = ["//visibility:public"]) +""", + sha256 = "f80b2e0512d9d8a92be24497334c974bfecc8c898fc215ce0e76594f00437482", + strip_prefix = "zulu15.27.17-ca-jdk15.0.0-macosx_x64", + urls = [ + "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu15.27.17-ca-jdk15.0.0-macosx_x64.tar.gz", + "https://cdn.azul.com/zulu/bin/zulu15.27.17-ca-jdk15.0.0-macosx_x64.tar.gz", + ], +) + JMH_VERS = "1.21" maven_jar(