diff --git a/src/main/java/net/fabricmc/loom/configuration/CompileConfiguration.java b/src/main/java/net/fabricmc/loom/configuration/CompileConfiguration.java index 8bd3ea4e..aa87a06e 100644 --- a/src/main/java/net/fabricmc/loom/configuration/CompileConfiguration.java +++ b/src/main/java/net/fabricmc/loom/configuration/CompileConfiguration.java @@ -59,6 +59,7 @@ import org.gradle.api.logging.Logger; import org.gradle.api.logging.Logging; import org.gradle.api.plugins.JavaPlugin; import org.gradle.api.plugins.JavaPluginExtension; +import org.gradle.api.provider.Provider; import org.gradle.api.tasks.AbstractCopyTask; import org.gradle.api.tasks.SourceSet; import org.gradle.api.tasks.TaskContainer; @@ -368,7 +369,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 optionsProvider = ClasspathGroupService.create(getProject()); + test.getInputs().property("LoomClassPathGroups", optionsProvider); + test.getInputs().files(optionsProvider.map((ClasspathGroupService.Options::getExternalClasspathGroups))); + test.doFirst(new Action() { @Override public void execute(Task task) { diff --git a/src/main/java/net/fabricmc/loom/task/LoomTasks.java b/src/main/java/net/fabricmc/loom/task/LoomTasks.java index 312d558d..94778cf8 100644 --- a/src/main/java/net/fabricmc/loom/task/LoomTasks.java +++ b/src/main/java/net/fabricmc/loom/task/LoomTasks.java @@ -237,9 +237,9 @@ public abstract class LoomTasks implements Runnable { task.setGroup(Constants.TaskGroup.FABRIC); if (operatingSystem.isWindows()) { - task.from(getProject().zipTree(downloadRenderDoc.map(DownloadTask::getOutput))); + task.from(getProject().zipTree(downloadRenderDoc.flatMap(DownloadTask::getOutput))); } else { - task.from(getProject().tarTree(downloadRenderDoc.map(DownloadTask::getOutput))); + task.from(getProject().tarTree(downloadRenderDoc.flatMap(DownloadTask::getOutput))); } task.into(getProject().getLayout().getBuildDirectory().dir("renderdoc"));