Add OpenJDK 21 GA build

Replace all usage of OpenJdk 20 with this.

Content of README.google:

Name: Java Development Kit (JDK)
URL: https://jdk.java.net/21/
Version: 21
Revision: NA
License: the GNU General Public License, version 2, with the Classpath Exception.

Description:
This is pulled directly from the website for the JDK releases that has an open source license.
Synlinks have reen resolved using `cp -rL` before uploading.

Change-Id: I4ab925c7de826d3c3dc802c8fb40ab60873b0883
Bug: b/293630962
diff --git a/d8_r8/test_modules/tests_java_20/build.gradle.kts b/d8_r8/test_modules/tests_java_21/build.gradle.kts
similarity index 72%
rename from d8_r8/test_modules/tests_java_20/build.gradle.kts
rename to d8_r8/test_modules/tests_java_21/build.gradle.kts
index 43037f0..9d71db8 100644
--- a/d8_r8/test_modules/tests_java_20/build.gradle.kts
+++ b/d8_r8/test_modules/tests_java_21/build.gradle.kts
@@ -15,23 +15,23 @@
 
 java {
   sourceSets.test.configure {
-    java.srcDir(root.resolveAll("src", "test", "examplesJava20"))
+    java.srcDir(root.resolveAll("src", "test", "examplesJava21"))
   }
-  sourceCompatibility = JavaVersion.VERSION_20
-  targetCompatibility = JavaVersion.VERSION_20
+  sourceCompatibility = JavaVersion.VERSION_21
+  targetCompatibility = JavaVersion.VERSION_21
 }
 
 dependencies { }
 
 // We just need to register the examples jars for it to be referenced by other modules.
-val buildExampleJars = buildExampleJars("examplesJava20")
+val buildExampleJars = buildExampleJars("examplesJava21")
 
 tasks {
   withType<JavaCompile> {
     dependsOn(gradle.includedBuild("shared").task(":downloadDeps"))
     options.setFork(true)
     options.forkOptions.memoryMaximumSize = "3g"
-    options.forkOptions.executable = getCompilerPath(Jdk.JDK_20)
+    options.forkOptions.executable = getCompilerPath(Jdk.JDK_21)
   }
 }
 
diff --git a/d8_r8/test_modules/tests_java_20/gradle.properties b/d8_r8/test_modules/tests_java_21/gradle.properties
similarity index 100%
rename from d8_r8/test_modules/tests_java_20/gradle.properties
rename to d8_r8/test_modules/tests_java_21/gradle.properties
diff --git a/d8_r8/test_modules/tests_java_20/settings.gradle.kts b/d8_r8/test_modules/tests_java_21/settings.gradle.kts
similarity index 94%
rename from d8_r8/test_modules/tests_java_20/settings.gradle.kts
rename to d8_r8/test_modules/tests_java_21/settings.gradle.kts
index 390fdb7..28d1dbb 100644
--- a/d8_r8/test_modules/tests_java_20/settings.gradle.kts
+++ b/d8_r8/test_modules/tests_java_21/settings.gradle.kts
@@ -21,6 +21,6 @@
   }
 }
 
-rootProject.name = "tests_java_20"
+rootProject.name = "tests_java_21"
 val root = rootProject.projectDir.parentFile.parentFile
 includeBuild(root.resolve("shared"))
diff --git a/d8_r8/test_modules/tests_java_8/build.gradle.kts b/d8_r8/test_modules/tests_java_8/build.gradle.kts
index 8b0bc68..54aeb8e 100644
--- a/d8_r8/test_modules/tests_java_8/build.gradle.kts
+++ b/d8_r8/test_modules/tests_java_8/build.gradle.kts
@@ -66,7 +66,7 @@
   projectTask("tests_java_10", getExampleJarsTaskName("examplesJava10")),
   projectTask("tests_java_11", getExampleJarsTaskName("examplesJava11")),
   projectTask("tests_java_17", getExampleJarsTaskName("examplesJava17")),
-  projectTask("tests_java_20", getExampleJarsTaskName("examplesJava20")),
+  projectTask("tests_java_21", getExampleJarsTaskName("examplesJava21")),
 )
 
 fun testDependencies() : FileCollection {
diff --git a/d8_r8/test_modules/tests_java_8/settings.gradle.kts b/d8_r8/test_modules/tests_java_8/settings.gradle.kts
index 6600f09..d54c456 100644
--- a/d8_r8/test_modules/tests_java_8/settings.gradle.kts
+++ b/d8_r8/test_modules/tests_java_8/settings.gradle.kts
@@ -35,4 +35,4 @@
 includeBuild(root.resolve("test_modules").resolve("tests_java_10"))
 includeBuild(root.resolve("test_modules").resolve("tests_java_11"))
 includeBuild(root.resolve("test_modules").resolve("tests_java_17"))
-includeBuild(root.resolve("test_modules").resolve("tests_java_20"))
+includeBuild(root.resolve("test_modules").resolve("tests_java_21"))