From f7efac5d18e8e8976b098750cde67c9be90296fe Mon Sep 17 00:00:00 2001 From: modmuss50 Date: Thu, 21 Jan 2021 21:46:07 +0000 Subject: [PATCH] Revert previous attempt at fixing genSources when loom is applied via buildSrc --- .../AbstractFernFlowerDecompiler.java | 2 +- .../fernflower/ForkingJavaExec.java | 25 +++++++------------ 2 files changed, 10 insertions(+), 17 deletions(-) diff --git a/src/main/java/net/fabricmc/loom/decompilers/fernflower/AbstractFernFlowerDecompiler.java b/src/main/java/net/fabricmc/loom/decompilers/fernflower/AbstractFernFlowerDecompiler.java index ecc1386..61dbaf0 100644 --- a/src/main/java/net/fabricmc/loom/decompilers/fernflower/AbstractFernFlowerDecompiler.java +++ b/src/main/java/net/fabricmc/loom/decompilers/fernflower/AbstractFernFlowerDecompiler.java @@ -100,7 +100,7 @@ public abstract class AbstractFernFlowerDecompiler implements LoomDecompiler { progressGroup.started(); ExecResult result = ForkingJavaExec.javaexec( - project, + project.getRootProject().getPlugins().hasPlugin("fabric-loom") ? project.getRootProject() : project, spec -> { spec.setMain(fernFlowerExecutor().getName()); spec.jvmArgs("-Xms200m", "-Xmx3G"); diff --git a/src/main/java/net/fabricmc/loom/decompilers/fernflower/ForkingJavaExec.java b/src/main/java/net/fabricmc/loom/decompilers/fernflower/ForkingJavaExec.java index f7e771d..8b5f5f6 100644 --- a/src/main/java/net/fabricmc/loom/decompilers/fernflower/ForkingJavaExec.java +++ b/src/main/java/net/fabricmc/loom/decompilers/fernflower/ForkingJavaExec.java @@ -24,12 +24,11 @@ package net.fabricmc.loom.decompilers.fernflower; -import java.util.HashSet; -import java.util.Set; - import org.gradle.api.Action; import org.gradle.api.Project; -import org.gradle.api.artifacts.Configuration; +import org.gradle.api.artifacts.ConfigurationContainer; +import org.gradle.api.artifacts.dsl.DependencyHandler; +import org.gradle.api.file.FileCollection; import org.gradle.process.ExecResult; import org.gradle.process.JavaExecSpec; @@ -41,20 +40,14 @@ import org.gradle.process.JavaExecSpec; */ public class ForkingJavaExec { public static ExecResult javaexec(Project project, Action action) { + ConfigurationContainer configurations = project.getBuildscript().getConfigurations(); + DependencyHandler handler = project.getDependencies(); + FileCollection classpath = configurations.getByName("classpath")// + .plus(configurations.detachedConfiguration(handler.localGroovy())); + return project.javaexec(spec -> { - spec.classpath(getForkedFernflowerClasspath(project)); + spec.classpath(classpath); action.execute(spec); }); } - - private static Configuration[] getForkedFernflowerClasspath(Project project) { - Set allConfigurations = new HashSet<>(); - allConfigurations.addAll(project.getBuildscript().getConfigurations()); - - if (project.getRootProject() != project) { - allConfigurations.addAll(project.getRootProject().getBuildscript().getConfigurations()); - } - - return allConfigurations.toArray(new Configuration[0]); - } }