aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/net/fabricmc/loom
diff options
context:
space:
mode:
authorsolonovamax <solonovamax@12oclockpoint.com>2020-12-21 14:48:26 -0500
committerGitHub <noreply@github.com>2020-12-21 19:48:26 +0000
commitc96396fb2732e76ee460be622b8ba928ee95f24e (patch)
tree4270ad6984fcf464870106a21be8f56d664cfa07 /src/main/java/net/fabricmc/loom
parent7e5053b0c501f786d8ca2cc7afa5b24ed7e90f1f (diff)
downloadarchitectury-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.java76
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();