Add OpenJDK 22 GA build

Content of README.google:

Name: Java Development Kit (JDK)
URL: https://jdk.java.net/22/
Version: 22
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.
Symlinks have reen resolved using `cp -rL` before uploading.

Change-Id: Iea58bf5b81433bef90d3bb3132e197c3096d41b9
diff --git a/d8_r8/commonBuildSrc/src/main/kotlin/DependenciesPlugin.kt b/d8_r8/commonBuildSrc/src/main/kotlin/DependenciesPlugin.kt
index 99f829f..140ef85 100644
--- a/d8_r8/commonBuildSrc/src/main/kotlin/DependenciesPlugin.kt
+++ b/d8_r8/commonBuildSrc/src/main/kotlin/DependenciesPlugin.kt
@@ -54,7 +54,8 @@
   JDK_9("openjdk-9.0.4", 9),
   JDK_11("jdk-11", 11),
   JDK_17("jdk-17", 17),
-  JDK_21("jdk-21", 21);
+  JDK_21("jdk-21", 21),
+  JDK_22("jdk-22", 22);
 
   fun isJdk8() : Boolean {
     return this == JDK_8
diff --git a/scripts/add-openjdk.sh b/scripts/add-openjdk.sh
index c29b338..37023ff 100755
--- a/scripts/add-openjdk.sh
+++ b/scripts/add-openjdk.sh
@@ -18,7 +18,7 @@
 
 # Now run script with fingers crossed!
 
-JDK_VERSION="21.0.1"
+JDK_VERSION="22.0.1"
 JDK_VERSION_FULL=${JDK_VERSION}
 # For ea versions the full version name has a postfix.
 # JDK_VERSION_FULL="${JDK_VERSION}-ea+33"
diff --git a/src/test/testbase/java/com/android/tools/r8/TestRuntime.java b/src/test/testbase/java/com/android/tools/r8/TestRuntime.java
index d2c130f..2a7668d 100644
--- a/src/test/testbase/java/com/android/tools/r8/TestRuntime.java
+++ b/src/test/testbase/java/com/android/tools/r8/TestRuntime.java
@@ -43,7 +43,8 @@
     JDK17("jdk17", 61),
     JDK18("jdk18", 62),
     JDK20("jdk20", 64),
-    JDK21("jdk21", 65);
+    JDK21("jdk21", 65),
+    JDK22("jdk22", 66);
 
     /** This should generally be the latest checked in CF runtime we fully support. */
     private static final CfVm DEFAULT = JDK11;
@@ -98,13 +99,15 @@
   private static final Path JDK11_PATH = Paths.get(ToolHelper.THIRD_PARTY_DIR, "openjdk", "jdk-11");
   private static final Path JDK17_PATH = Paths.get(ToolHelper.THIRD_PARTY_DIR, "openjdk", "jdk-17");
   private static final Path JDK21_PATH = Paths.get(ToolHelper.THIRD_PARTY_DIR, "openjdk", "jdk-21");
+  private static final Path JDK22_PATH = Paths.get(ToolHelper.THIRD_PARTY_DIR, "openjdk", "jdk-22");
   private static final Map<CfVm, Path> jdkPaths =
       ImmutableMap.of(
           CfVm.JDK8, JDK8_PATH,
           CfVm.JDK9, JDK9_PATH,
           CfVm.JDK11, JDK11_PATH,
           CfVm.JDK17, JDK17_PATH,
-          CfVm.JDK21, JDK21_PATH);
+          CfVm.JDK21, JDK21_PATH,
+          CfVm.JDK22, JDK22_PATH);
 
   public static CfRuntime getCheckedInJdk(CfVm vm) {
     if (vm == CfVm.JDK8) {
@@ -157,6 +160,10 @@
     return new CfRuntime(CfVm.JDK21, getCheckedInJdkHome(CfVm.JDK21));
   }
 
+  public static CfRuntime getCheckedInJdk22() {
+    return new CfRuntime(CfVm.JDK22, getCheckedInJdkHome(CfVm.JDK22));
+  }
+
   public static List<CfRuntime> getCheckedInCfRuntimes() {
     CfRuntime[] jdks =
         new CfRuntime[] {
@@ -164,7 +171,8 @@
           getCheckedInJdk9(),
           getCheckedInJdk11(),
           getCheckedInJdk17(),
-          getCheckedInJdk21()
+          getCheckedInJdk21(),
+          getCheckedInJdk22()
         };
     Builder<CfRuntime> builder = ImmutableList.builder();
     for (CfRuntime jdk : jdks) {
@@ -225,6 +233,9 @@
     if (version.equals("21") || version.startsWith("21.")) {
       return new CfRuntime(CfVm.JDK21, Paths.get(home));
     }
+    if (version.equals("22") || version.startsWith("22.")) {
+      return new CfRuntime(CfVm.JDK22, Paths.get(home));
+    }
     throw new Unimplemented("No support for JDK version: " + version);
   }
 
diff --git a/third_party/openjdk/jdk-22/linux.tar.gz.sha1 b/third_party/openjdk/jdk-22/linux.tar.gz.sha1
new file mode 100644
index 0000000..65ababc
--- /dev/null
+++ b/third_party/openjdk/jdk-22/linux.tar.gz.sha1
@@ -0,0 +1 @@
+268b96c4c40ae2d64a12bb9411aa4a17d9203817
\ No newline at end of file
diff --git a/third_party/openjdk/jdk-22/osx.tar.gz.sha1 b/third_party/openjdk/jdk-22/osx.tar.gz.sha1
new file mode 100644
index 0000000..41e77ef
--- /dev/null
+++ b/third_party/openjdk/jdk-22/osx.tar.gz.sha1
@@ -0,0 +1 @@
+7b3e485c6a1ab8fc86a0453d2454c1b59f7a6d91
\ No newline at end of file
diff --git a/third_party/openjdk/jdk-22/windows.tar.gz.sha1 b/third_party/openjdk/jdk-22/windows.tar.gz.sha1
new file mode 100644
index 0000000..1f2bfcc
--- /dev/null
+++ b/third_party/openjdk/jdk-22/windows.tar.gz.sha1
@@ -0,0 +1 @@
+91c1256828c1ad7f5b4fe28f2ea092e98a0a52e8
\ No newline at end of file
diff --git a/tools/jdk.py b/tools/jdk.py
index c697759..3b41c3b 100755
--- a/tools/jdk.py
+++ b/tools/jdk.py
@@ -11,7 +11,7 @@
 JDK_DIR = os.path.join(defines.THIRD_PARTY, 'openjdk')
 
 ALL_JDKS = ['openjdk-9.0.4', 'jdk-11', 'jdk-15', 'jdk-16', 'jdk-17',
-            'jdk-18', 'jdk-21']
+            'jdk-18', 'jdk-21', 'jdk-22']
 
 
 def GetJdkHome():
diff --git a/tools/test.py b/tools/test.py
index 9805e8e..2d358cb 100755
--- a/tools/test.py
+++ b/tools/test.py
@@ -52,6 +52,7 @@
     'jdk11',
     'jdk17',
     'jdk21',
+    'jdk22',
 ] + ['dex-%s' % dexvm for dexvm in ALL_ART_VMS]