Use addTool to add tool artifacts instead of addInput in StarlarkAction.Builder Tools are added to the set of inputs in SpawnAction.Builder::build, so they will still appear in the input set, however SpawnAction maintains a separate set for tool inputs, which should be consistently populated by whatever is passed as a tool input in Starlark. PiperOrigin-RevId: 415470290
diff --git a/src/main/java/com/google/devtools/build/lib/analysis/starlark/StarlarkActionFactory.java b/src/main/java/com/google/devtools/build/lib/analysis/starlark/StarlarkActionFactory.java index de77b7e..6edf25e 100644 --- a/src/main/java/com/google/devtools/build/lib/analysis/starlark/StarlarkActionFactory.java +++ b/src/main/java/com/google/devtools/build/lib/analysis/starlark/StarlarkActionFactory.java
@@ -604,7 +604,7 @@ for (Object toolUnchecked : tools) { if (toolUnchecked instanceof Artifact) { Artifact artifact = (Artifact) toolUnchecked; - builder.addInput(artifact); + builder.addTool(artifact); FilesToRunProvider provider = context.getExecutableRunfiles(artifact); if (provider != null) { builder.addTool(provider);