Update rules_graal version

v0.11.x is needed for Java 21 support, see
https://github.com/sgammon/rules_graalvm/releases/tag/v0.11.1

PiperOrigin-RevId: 613360427
Change-Id: I4e0916b10752604f907c037cfdc516bf5df754e9
diff --git a/MODULE.bazel b/MODULE.bazel
index eb2be76..7c32543 100644
--- a/MODULE.bazel
+++ b/MODULE.bazel
@@ -24,7 +24,7 @@
 bazel_dep(name = "zlib", version = "1.3")
 bazel_dep(name = "rules_cc", version = "0.0.9")
 bazel_dep(name = "rules_java", version = "7.4.0")
-bazel_dep(name = "rules_graalvm", version = "0.10.3")
+bazel_dep(name = "rules_graalvm", version = "0.11.1")
 bazel_dep(name = "rules_proto", version = "5.3.0-21.7")
 bazel_dep(name = "rules_jvm_external", version = "6.0")
 bazel_dep(name = "rules_python", version = "0.28.0")
@@ -293,8 +293,8 @@
 gvm.graalvm(
     name = "graalvm",
     distribution = "ce",
-    java_version = "20",
-    version = "20.0.2",
+    java_version = "21",
+    version = "21.0.2",
 )
 use_repo(gvm, "graalvm_toolchains")
 
diff --git a/MODULE.bazel.lock b/MODULE.bazel.lock
index e60d118..fdbda78 100644
--- a/MODULE.bazel.lock
+++ b/MODULE.bazel.lock
@@ -1,6 +1,6 @@
 {
   "lockFileVersion": 3,
-  "moduleFileHash": "ea0b5bfb8ce9d22dd6a775d23311d99ad1655deb9ce68dd4e4e07edf75bfd717",
+  "moduleFileHash": "d085856a9edc6ce1e195cc8cfdc55e83d3955fed8b94874c7de03f94291f605e",
   "flags": {
     "cmdRegistries": [
       "https://bcr.bazel.build/"
@@ -506,8 +506,8 @@
               "attributeValues": {
                 "name": "graalvm",
                 "distribution": "ce",
-                "java_version": "20",
-                "version": "20.0.2"
+                "java_version": "21",
+                "version": "21.0.2"
               },
               "devDependency": false,
               "location": {
@@ -639,7 +639,7 @@
         "zlib": "zlib@1.3",
         "rules_cc": "rules_cc@0.0.9",
         "rules_java": "rules_java@7.4.0",
-        "rules_graalvm": "rules_graalvm@0.10.3",
+        "rules_graalvm": "rules_graalvm@0.11.1",
         "rules_proto": "rules_proto@5.3.0-21.7",
         "rules_jvm_external": "rules_jvm_external@6.0",
         "rules_python": "rules_python@0.28.0",
@@ -1211,10 +1211,10 @@
         }
       }
     },
-    "rules_graalvm@0.10.3": {
+    "rules_graalvm@0.11.1": {
       "name": "rules_graalvm",
-      "version": "0.10.3",
-      "key": "rules_graalvm@0.10.3",
+      "version": "0.11.1",
+      "key": "rules_graalvm@0.11.1",
       "repoName": "rules_graalvm",
       "executionPlatformsToRegister": [],
       "toolchainsToRegister": [],
@@ -1232,12 +1232,12 @@
         "bzlFile": "@bazel_tools//tools/build_defs/repo:http.bzl",
         "ruleClassName": "http_archive",
         "attributes": {
-          "name": "rules_graalvm~0.10.3",
+          "name": "rules_graalvm~0.11.1",
           "urls": [
-            "https://github.com/sgammon/rules_graalvm/releases/download/v0.10.3/rules_graalvm-0.10.3.zip"
+            "https://github.com/sgammon/rules_graalvm/releases/download/v0.11.1/rules_graalvm-0.11.1.zip"
           ],
-          "integrity": "sha256-H0uZeedQMwQt9OlAWgqUmqXdlCfnLIqv2Ikdj2dOdeQ=",
-          "strip_prefix": "rules_graalvm-0.10.3",
+          "integrity": "sha256-5PonWwYtzQOx7LArsl8B6tUSAjAGqHSl4MLLeLptjnM=",
+          "strip_prefix": "rules_graalvm-0.11.1",
           "remote_patches": {},
           "remote_patch_strip": 0
         }
@@ -2701,7 +2701,7 @@
           [
             "",
             "rules_graalvm",
-            "rules_graalvm~0.10.3"
+            "rules_graalvm~0.11.1"
           ],
           [
             "",
@@ -2766,7 +2766,7 @@
         "bzlTransitiveDigest": "r8gQnSLwon27gWD77J8mb3DIe4v3gtn7J/rsic53Qyw=",
         "accumulatedFileDigests": {
           "@@//src/test/tools/bzlmod:MODULE.bazel.lock": "757d0a347552181528c083af9e8851fe4a0ca87ef21794f843fbfc2742cbfed1",
-          "@@//:MODULE.bazel": "ea0b5bfb8ce9d22dd6a775d23311d99ad1655deb9ce68dd4e4e07edf75bfd717"
+          "@@//:MODULE.bazel": "d085856a9edc6ce1e195cc8cfdc55e83d3955fed8b94874c7de03f94291f605e"
         },
         "envVariables": {},
         "generatedRepoSpecs": {
@@ -2867,7 +2867,7 @@
                 "rules_java~7.4.0",
                 "rules_jvm_external~6.0",
                 "rules_kotlin~1.9.0",
-                "rules_graalvm~0.10.3",
+                "rules_graalvm~0.11.1",
                 "rules_license~0.0.7",
                 "rules_pkg~0.9.1",
                 "rules_proto~5.3.0-21.7",
@@ -3084,7 +3084,7 @@
           [
             "",
             "rules_graalvm",
-            "rules_graalvm~0.10.3"
+            "rules_graalvm~0.11.1"
           ],
           [
             "",
@@ -3239,7 +3239,7 @@
           [
             "",
             "rules_graalvm",
-            "rules_graalvm~0.10.3"
+            "rules_graalvm~0.11.1"
           ],
           [
             "",
@@ -4670,27 +4670,27 @@
         ]
       }
     },
-    "@@rules_graalvm~0.10.3//:extensions.bzl%graalvm": {
+    "@@rules_graalvm~0.11.1//:extensions.bzl%graalvm": {
       "general": {
-        "bzlTransitiveDigest": "RNOMan/EiPbz5i2nh2YxhbeTAOvTd9ReDe7arDK0PeY=",
+        "bzlTransitiveDigest": "7TRnLGgMZtLIlqn0gwKri3T+KOm/9pO2nb9Tyb8sGJY=",
         "accumulatedFileDigests": {},
         "envVariables": {},
         "generatedRepoSpecs": {
           "graalvm_toolchains": {
-            "bzlFile": "@@rules_graalvm~0.10.3//internal:graalvm_bindist.bzl",
+            "bzlFile": "@@rules_graalvm~0.11.1//internal:graalvm_bindist.bzl",
             "ruleClassName": "_toolchain_config",
             "attributes": {
-              "name": "rules_graalvm~0.10.3~graalvm~graalvm_toolchains",
-              "build_file": "\nconfig_setting(\n    name = \"prefix_version_setting\",\n    values = {\"java_runtime_version\": \"graalvm_20\"},\n    visibility = [\"//visibility:private\"],\n)\nconfig_setting(\n    name = \"version_setting\",\n    values = {\"java_runtime_version\": \"20\"},\n    visibility = [\"//visibility:private\"],\n)\nalias(\n    name = \"version_or_prefix_version_setting\",\n    actual = select({\n        \":version_setting\": \":version_setting\",\n        \"//conditions:default\": \":prefix_version_setting\",\n    }),\n    visibility = [\"//visibility:private\"],\n)\nalias(\n    name = \"toolchain_gvm\",\n    actual = \"gvm\",\n    visibility = [\"//visibility:public\"],\n)\ntoolchain(\n    name = \"gvm\",\n    exec_compatible_with = [\n        \n    ],\n    target_compatible_with = [\n        \n    ],\n    toolchain = \"@graalvm//:gvm\",\n    toolchain_type = \"@rules_graalvm//graalvm/toolchain\",\n    visibility = [\"//visibility:public\"],\n)\ntoolchain(\n    name = \"toolchain\",\n    target_compatible_with = [],\n    target_settings = [\":version_or_prefix_version_setting\"],\n    toolchain_type = \"@bazel_tools//tools/jdk:runtime_toolchain_type\",\n    toolchain = \"@graalvm//:jdk\",\n    visibility = [\"//visibility:public\"],\n)\n\ntoolchain(\n    name = \"bootstrap_runtime_toolchain\",\n    # These constraints are not required for correctness, but prevent fetches of remote JDK for\n    # different architectures. As every Java compilation toolchain depends on a bootstrap runtime in\n    # the same configuration, this constraint will not result in toolchain resolution failures.\n    exec_compatible_with = [],\n    target_settings = [\":version_or_prefix_version_setting\"],\n    toolchain_type = \"@bazel_tools//tools/jdk:bootstrap_runtime_toolchain_type\",\n    toolchain = \"@graalvm//:jdk\",\n    visibility = [\"//visibility:public\"],\n)\n\n"
+              "name": "rules_graalvm~0.11.1~graalvm~graalvm_toolchains",
+              "build_file": "\nalias(\n    name = \"toolchain_gvm\",\n    actual = \"gvm\",\n    visibility = [\"//visibility:public\"],\n)\ntoolchain(\n    name = \"gvm\",\n    exec_compatible_with = [\n        \n    ],\n    target_compatible_with = [\n        \n    ],\n    toolchain = \"@graalvm//:gvm\",\n    toolchain_type = \"@rules_graalvm//graalvm/toolchain\",\n    visibility = [\"//visibility:public\"],\n)\n\nconfig_setting(\n    name = \"prefix_version_setting\",\n    values = {\"java_runtime_version\": \"graalvm_21\"},\n    visibility = [\"//visibility:private\"],\n)\ntoolchain(\n    name = \"toolchain\",\n    target_compatible_with = [],\n    target_settings = [\":prefix_version_setting\"],\n    toolchain_type = \"@bazel_tools//tools/jdk:runtime_toolchain_type\",\n    toolchain = \"@graalvm//:jdk\",\n    visibility = [\"//visibility:public\"],\n)\n\ntoolchain(\n    name = \"bootstrap_runtime_toolchain\",\n    # These constraints are not required for correctness, but prevent fetches of remote JDK for\n    # different architectures. As every Java compilation toolchain depends on a bootstrap runtime in\n    # the same configuration, this constraint will not result in toolchain resolution failures.\n    exec_compatible_with = [],\n    target_settings = [\":prefix_version_setting\"],\n    toolchain_type = \"@bazel_tools//tools/jdk:bootstrap_runtime_toolchain_type\",\n    toolchain = \"@graalvm//:jdk\",\n    visibility = [\"//visibility:public\"],\n)\n\n"
             }
           },
           "graalvm": {
-            "bzlFile": "@@rules_graalvm~0.10.3//internal:graalvm_bindist.bzl",
+            "bzlFile": "@@rules_graalvm~0.11.1//internal:graalvm_bindist.bzl",
             "ruleClassName": "_graalvm_bindist_repository",
             "attributes": {
-              "name": "rules_graalvm~0.10.3~graalvm~graalvm",
-              "version": "20.0.2",
-              "java_version": "20",
+              "name": "rules_graalvm~0.11.1~graalvm~graalvm",
+              "version": "21.0.2",
+              "java_version": "21",
               "distribution": "ce",
               "components": [],
               "setup_actions": [],
@@ -4699,7 +4699,13 @@
             }
           }
         },
-        "recordedRepoMappingEntries": []
+        "recordedRepoMappingEntries": [
+          [
+            "rules_graalvm~0.11.1",
+            "bazel_skylib",
+            "bazel_skylib~1.5.0"
+          ]
+        ]
       }
     },
     "@@rules_java~7.4.0//java:extensions.bzl%toolchains": {
diff --git a/src/java_tools/buildjar/java/com/google/devtools/build/java/turbine/BUILD b/src/java_tools/buildjar/java/com/google/devtools/build/java/turbine/BUILD
index 132cc24..4abefcb 100644
--- a/src/java_tools/buildjar/java/com/google/devtools/build/java/turbine/BUILD
+++ b/src/java_tools/buildjar/java/com/google/devtools/build/java/turbine/BUILD
@@ -29,7 +29,9 @@
 native_image(
     name = "turbine_direct_graal",
     executable_name = select({
-        "@bazel_tools//src/conditions:windows": "%target%.exe",
+        # TODO(cushon): restore .exe suffix on windows
+        # see https://github.com/sgammon/rules_graalvm/issues/324
+        "@bazel_tools//src/conditions:windows": "%target%",
         "//conditions:default": "%target%",
     }),
     extra_args = [