commit 07d43c2655c595b4a6fb6eab685c9a9a052ddee6
Author: Tiago Quelhas <tjgq@google.com>
Date:   Mon Sep 16 15:12:33 2024 +0200

    fix: avoid using deprecated ctx.resolve_tools

    See https://github.com/bazelbuild/bazel/issues/22249 for context.

    Signed-off-by: Tiago Quelhas <tjgq@google.com>

diff --git a/internal/native_image/rules.bzl b/internal/native_image/rules.bzl
index 0d0a2ce..ca84a91 100644
--- a/internal/native_image/rules.bzl
+++ b/internal/native_image/rules.bzl
@@ -37,41 +37,28 @@ def _build_action_message(ctx):
     return (_mode_label[ctx.attr.optimization_mode or "default"])

 def _graal_binary_implementation(ctx):
-    graal_attr = ctx.attr.native_image_tool
-    extra_tool_deps = []
-    gvm_toolchain = None
+    graal_attr = ctx.executable.native_image_tool
+
     classpath_depset = depset(transitive = [
         dep[JavaInfo].transitive_runtime_jars
         for dep in ctx.attr.deps
     ])

-    graal = None
     direct_inputs = []
     transitive_inputs = [classpath_depset]

     # resolve via toolchains
-    info = ctx.toolchains[_GVM_TOOLCHAIN_TYPE].graalvm
-
-    # but fall back to explicitly-provided tool, which should override, with the
-    # remainder of the resolved toolchain present
-    resolved_graal = graal_attr or info.native_image_bin
-    gvm_toolchain = info
-    extra_tool_deps.append(info.gvm_files)
+    gvm_toolchain = ctx.toolchains[_GVM_TOOLCHAIN_TYPE].graalvm

-    graal_inputs, _ = ctx.resolve_tools(tools = [
-        resolved_graal,
-    ] + extra_tool_deps)
-
-    graal = graal_inputs.to_list()[0]
+    # if a native-image tool is explicitly provided, it should override the one
+    # provided by the toolchain, but not the rest of the files it provides
+    graal = graal_attr or gvm_toolchain.native_image_bin.files_to_run

     # add toolchain files to transitive inputs
     transitive_inputs.append(gvm_toolchain.gvm_files[DefaultInfo].files)

-    # if we're using an explicit tool, add it to the direct inputs
-    if graal:
-        direct_inputs.append(graal)
-    else:
-        # still failed to resolve: cannot resolve via either toolchains or attributes.
+    if not graal:
+        # cannot resolve via either toolchains or attributes.
         fail("""
             No `native-image` tool found. Please either define a `native_image_tool` in your target,
             or install a GraalVM `native-image` toolchain.
