From 0cfa88f73b7b6da200dc5bac3dde3884a854e17f Mon Sep 17 00:00:00 2001 From: modmuss50 Date: Sun, 13 Jun 2021 11:23:46 +0100 Subject: [PATCH] Always fork the java compiler --- .../fabricmc/loom/configuration/CompileConfiguration.java | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/main/java/net/fabricmc/loom/configuration/CompileConfiguration.java b/src/main/java/net/fabricmc/loom/configuration/CompileConfiguration.java index 8e75df8..fb35b97 100644 --- a/src/main/java/net/fabricmc/loom/configuration/CompileConfiguration.java +++ b/src/main/java/net/fabricmc/loom/configuration/CompileConfiguration.java @@ -30,6 +30,7 @@ import org.gradle.api.plugins.JavaPlugin; import org.gradle.api.plugins.JavaPluginConvention; import org.gradle.api.tasks.SourceSet; import org.gradle.api.tasks.bundling.AbstractArchiveTask; +import org.gradle.api.tasks.compile.JavaCompile; import org.gradle.api.tasks.javadoc.Javadoc; import net.fabricmc.loom.LoomGradleExtension; @@ -104,6 +105,11 @@ public final class CompileConfiguration { Javadoc javadoc = (Javadoc) p.getTasks().getByName(JavaPlugin.JAVADOC_TASK_NAME); javadoc.setClasspath(main.getOutput().plus(main.getCompileClasspath())); + p.getTasks().withType(JavaCompile.class).configureEach(compile -> { + // Fork the java compiler to ensure that it does not keep any files open. + compile.getOptions().setFork(true); + }); + p.afterEvaluate(project -> { LoomGradleExtension extension = project.getExtensions().getByType(LoomGradleExtension.class);