Define --java_runtime_version, --tool_java_runtime_version,
--java_language_version, and --tool_java_language_version

PiperOrigin-RevId: 317717516
diff --git a/src/main/java/com/google/devtools/build/lib/rules/java/JavaOptions.java b/src/main/java/com/google/devtools/build/lib/rules/java/JavaOptions.java
index 29aec10..5486467 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/java/JavaOptions.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/java/JavaOptions.java
@@ -610,6 +610,38 @@
       help = "If enabled, turbine is used for all annotation processing")
   public boolean experimentalTurbineAnnotationProcessing;
 
+  @Option(
+      name = "java_runtime_version",
+      defaultValue = "",
+      documentationCategory = OptionDocumentationCategory.UNDOCUMENTED,
+      effectTags = {OptionEffectTag.UNKNOWN},
+      help = "The Java runtime version")
+  public String javaRuntimeVersion;
+
+  @Option(
+      name = "tool_java_runtime_version",
+      defaultValue = "",
+      documentationCategory = OptionDocumentationCategory.UNDOCUMENTED,
+      effectTags = {OptionEffectTag.UNKNOWN},
+      help = "The Java runtime version used to execute tools during the build")
+  public String hostJavaRuntimeVersion;
+
+  @Option(
+      name = "java_language_version",
+      defaultValue = "",
+      documentationCategory = OptionDocumentationCategory.UNDOCUMENTED,
+      effectTags = {OptionEffectTag.UNKNOWN},
+      help = "The Java language version")
+  public String javaLanguageVersion;
+
+  @Option(
+      name = "tool_java_language_version",
+      defaultValue = "",
+      documentationCategory = OptionDocumentationCategory.UNDOCUMENTED,
+      effectTags = {OptionEffectTag.UNKNOWN},
+      help = "The Java language version used to build tools that are executed during a build")
+  public String hostJavaLanguageVersion;
+
   Label defaultJavaBase() {
     return Label.parseAbsoluteUnchecked(DEFAULT_JAVABASE);
   }
@@ -669,11 +701,16 @@
     host.disallowResourceJars = disallowResourceJars;
     host.loadJavaRulesFromBzl = loadJavaRulesFromBzl;
 
+    host.javaRuntimeVersion = hostJavaRuntimeVersion;
+    host.javaLanguageVersion = hostJavaLanguageVersion;
+
     // Save host options for further use.
     host.hostJavaBase = hostJavaBase;
     host.hostJavacOpts = hostJavacOpts;
     host.hostJavaLauncher = hostJavaLauncher;
     host.hostJavaToolchain = hostJavaToolchain;
+    host.hostJavaRuntimeVersion = hostJavaRuntimeVersion;
+    host.hostJavaLanguageVersion = hostJavaLanguageVersion;
 
     host.experimentalTurbineAnnotationProcessing = experimentalTurbineAnnotationProcessing;