Add external classpath groups as explicit test task inputs. (#1453)

This commit is contained in:
modmuss
2025-11-21 20:39:21 +00:00
committed by GitHub
parent 45d8dda275
commit e612fda6b9

View File

@@ -45,6 +45,7 @@ import org.gradle.api.Task;
import org.gradle.api.logging.Logger;
import org.gradle.api.logging.Logging;
import org.gradle.api.plugins.JavaPlugin;
import org.gradle.api.provider.Provider;
import org.gradle.api.tasks.AbstractCopyTask;
import org.gradle.api.tasks.SourceSet;
import org.gradle.api.tasks.TaskContainer;
@@ -53,8 +54,8 @@ import org.gradle.api.tasks.javadoc.Javadoc;
import org.gradle.api.tasks.testing.Test;
import net.fabricmc.loom.LoomGradleExtension;
import net.fabricmc.loom.api.mappings.layered.MappingsNamespace;
import net.fabricmc.loom.api.InterfaceInjectionExtensionAPI;
import net.fabricmc.loom.api.mappings.layered.MappingsNamespace;
import net.fabricmc.loom.build.mixin.GroovyApInvoker;
import net.fabricmc.loom.build.mixin.JavaApInvoker;
import net.fabricmc.loom.build.mixin.KaptApInvoker;
@@ -292,7 +293,10 @@ public abstract class CompileConfiguration implements Runnable {
}
getProject().getTasks().named(JavaPlugin.TEST_TASK_NAME, Test.class, test -> {
test.getInputs().property("LoomClassPathGroups", ClasspathGroupService.create(getProject()));
Provider<ClasspathGroupService.Options> optionsProvider = ClasspathGroupService.create(getProject());
test.getInputs().property("LoomClassPathGroups", optionsProvider);
test.getInputs().files(optionsProvider.map((ClasspathGroupService.Options::getExternalClasspathGroups)));
test.doFirst(new Action<Task>() {
@Override
public void execute(Task task) {