Skip to content

Commit 88a1a5a

Browse files
committed
[bazel + java] Use a transition to target Java 11 for our maven artifacts
This allows us to use Java 21 elsewhere in the repo where it might be useful (Tests! Tests! Tests!) without needing to monkey around with special flags.
1 parent ff7fa52 commit 88a1a5a

File tree

3 files changed

+14
-9
lines changed

3 files changed

+14
-9
lines changed

.bazelrc

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -20,14 +20,13 @@ build --flag_alias=headless=//common:headless
2020

2121
# Set the default java toolchain
2222

23-
build --java_language_version=17
24-
build --java_runtime_version=remotejdk_17
25-
build --tool_java_language_version=17
26-
build --tool_java_runtime_version=remotejdk_17
27-
28-
# We target java 11 by default
29-
30-
build --javacopt="--release 11"
23+
# This is the version of Java used by Selenium's build and tooling.
24+
# We use a transition in `export.bzl` to set the version of Java we
25+
# target for the binaries we ship to 11.
26+
build --java_language_version=21
27+
build --java_runtime_version=remotejdk_21
28+
build --tool_java_language_version=21
29+
build --tool_java_runtime_version=remotejdk_21
3130

3231
# Require java dependencies to be used and first-order
3332

MODULE.bazel

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ bazel_dep(name = "rules_pkg", version = "0.10.1")
2626
bazel_dep(name = "rules_python", version = "0.33.0")
2727
bazel_dep(name = "rules_proto", version = "6.0.0")
2828
bazel_dep(name = "rules_ruby", version = "0.13.0")
29+
bazel_dep(name = "with_cfg.bzl", version = "0.6.0")
2930

3031
linter = use_extension("@apple_rules_lint//lint:extensions.bzl", "linter")
3132
linter.configure(

java/private/export.bzl

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,12 @@ load(
66
load("@rules_jvm_external//private/rules:maven_bom_fragment.bzl", "maven_bom_fragment")
77
load("@rules_jvm_external//private/rules:maven_project_jar.bzl", "maven_project_jar")
88
load("@rules_jvm_external//private/rules:maven_publish.bzl", "maven_publish")
9-
load("//java/private:module.bzl", "java_module")
9+
load("@with_cfg.bzl", "with_cfg")
10+
load("//java/private:module.bzl", _java_module = "java_module")
11+
12+
_builder = with_cfg(_java_module)
13+
_builder.set("java_language_version", "11").set("java_runtime_version", "remotejdk_11")
14+
java_module, _ = _builder.build()
1015

1116
def java_export(
1217
name,

0 commit comments

Comments
 (0)