diff options
author | solonovamax <solonovamax@12oclockpoint.com> | 2020-12-21 14:48:26 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-12-21 19:48:26 +0000 |
commit | c96396fb2732e76ee460be622b8ba928ee95f24e (patch) | |
tree | 4270ad6984fcf464870106a21be8f56d664cfa07 /src/main/java/net/fabricmc/loom | |
parent | 7e5053b0c501f786d8ca2cc7afa5b24ed7e90f1f (diff) | |
download | architectury-loom-c96396fb2732e76ee460be622b8ba928ee95f24e.tar.gz architectury-loom-c96396fb2732e76ee460be622b8ba928ee95f24e.tar.bz2 architectury-loom-c96396fb2732e76ee460be622b8ba928ee95f24e.zip |
Fix genSources not working when root project doesnt have loom applied#308. (#309)
loom now runs genSources on root project if the plugin exists in the root project, else it will build in the current project.
Signed-off-by: solonovamax <solonovamax@12oclockpoint.com>
Diffstat (limited to 'src/main/java/net/fabricmc/loom')
-rw-r--r-- | src/main/java/net/fabricmc/loom/decompilers/fernflower/AbstractFernFlowerDecompiler.java | 76 |
1 files changed, 39 insertions, 37 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 1d82c918..61dbaf07 100644 --- a/src/main/java/net/fabricmc/loom/decompilers/fernflower/AbstractFernFlowerDecompiler.java +++ b/src/main/java/net/fabricmc/loom/decompilers/fernflower/AbstractFernFlowerDecompiler.java @@ -99,46 +99,48 @@ public abstract class AbstractFernFlowerDecompiler implements LoomDecompiler { Map<String, ProgressLogger> inUseLoggers = new HashMap<>(); progressGroup.started(); - ExecResult result = ForkingJavaExec.javaexec(project.getRootProject(), spec -> { - spec.setMain(fernFlowerExecutor().getName()); - spec.jvmArgs("-Xms200m", "-Xmx3G"); - spec.setArgs(args); - spec.setErrorOutput(System.err); - spec.setStandardOutput(new ConsumingOutputStream(line -> { - if (line.startsWith("Listening for transport") || !line.contains("::")) { - System.out.println(line); - return; - } - - int sepIdx = line.indexOf("::"); - String id = line.substring(0, sepIdx).trim(); - String data = line.substring(sepIdx + 2).trim(); - - ProgressLogger logger = inUseLoggers.get(id); - - String[] segs = data.split(" "); - - if (segs[0].equals("waiting")) { - if (logger != null) { - logger.progress("Idle.."); - inUseLoggers.remove(id); - freeLoggers.push(logger); - } - } else { - if (logger == null) { - if (!freeLoggers.isEmpty()) { - logger = freeLoggers.pop(); - } else { - logger = loggerFactory.get(); + ExecResult result = ForkingJavaExec.javaexec( + project.getRootProject().getPlugins().hasPlugin("fabric-loom") ? project.getRootProject() : project, + spec -> { + spec.setMain(fernFlowerExecutor().getName()); + spec.jvmArgs("-Xms200m", "-Xmx3G"); + spec.setArgs(args); + spec.setErrorOutput(System.err); + spec.setStandardOutput(new ConsumingOutputStream(line -> { + if (line.startsWith("Listening for transport") || !line.contains("::")) { + System.out.println(line); + return; } - inUseLoggers.put(id, logger); - } + int sepIdx = line.indexOf("::"); + String id = line.substring(0, sepIdx).trim(); + String data = line.substring(sepIdx + 2).trim(); + + ProgressLogger logger = inUseLoggers.get(id); - logger.progress(data); - } - })); - }); + String[] segs = data.split(" "); + + if (segs[0].equals("waiting")) { + if (logger != null) { + logger.progress("Idle.."); + inUseLoggers.remove(id); + freeLoggers.push(logger); + } + } else { + if (logger == null) { + if (!freeLoggers.isEmpty()) { + logger = freeLoggers.pop(); + } else { + logger = loggerFactory.get(); + } + + inUseLoggers.put(id, logger); + } + + logger.progress(data); + } + })); + }); inUseLoggers.values().forEach(ProgressLogger::completed); freeLoggers.forEach(ProgressLogger::completed); progressGroup.completed(); |