diff options
Diffstat (limited to 'src/main/java/net/fabricmc/loom/task/LoomTasks.java')
-rw-r--r-- | src/main/java/net/fabricmc/loom/task/LoomTasks.java | 33 |
1 files changed, 22 insertions, 11 deletions
diff --git a/src/main/java/net/fabricmc/loom/task/LoomTasks.java b/src/main/java/net/fabricmc/loom/task/LoomTasks.java index 57b9da84..c2857fa7 100644 --- a/src/main/java/net/fabricmc/loom/task/LoomTasks.java +++ b/src/main/java/net/fabricmc/loom/task/LoomTasks.java @@ -37,7 +37,6 @@ import net.fabricmc.loom.api.decompilers.LoomDecompiler; import net.fabricmc.loom.configuration.ide.RunConfigSettings; import net.fabricmc.loom.configuration.ide.SetupIntelijRunConfigs; import net.fabricmc.loom.configuration.providers.mappings.MappingsProviderImpl; -import net.fabricmc.loom.decompilers.fernflower.FabricFernFlowerDecompiler; import net.fabricmc.loom.util.Constants; public final class LoomTasks { @@ -157,7 +156,7 @@ public final class LoomTasks { return; } - File inputJar = mappingsProvider.mappedProvider.getMappedJar(); + File mappedJar = mappingsProvider.mappedProvider.getMappedJar(); if (mappingsProvider.hasUnpickDefinitions()) { File outputJar = mappingsProvider.mappedProvider.getUnpickedJar(); @@ -168,21 +167,33 @@ public final class LoomTasks { unpickJarTask.getOutputJar().set(outputJar); }); - inputJar = outputJar; + mappedJar = outputJar; } + final File inputJar = mappedJar; + extension.getGameDecompilers().finalizeValue(); for (LoomDecompiler decompiler : extension.getGameDecompilers().get()) { - String taskName = decompiler instanceof FabricFernFlowerDecompiler ? "genSources" : "genSourcesWith" + decompiler.name(); - // decompiler will be passed to the constructor of GenerateSourcesTask - GenerateSourcesTask generateSourcesTask = tasks.register(taskName, GenerateSourcesTask.class, decompiler).get(); - generateSourcesTask.getInputJar().set(inputJar); - - if (mappingsProvider.hasUnpickDefinitions()) { - generateSourcesTask.dependsOn(tasks.getByName("unpickJar")); - } + String taskName = "genSourcesWith" + decompiler.name(); + // Decompiler will be passed to the constructor of GenerateSourcesTask + tasks.register(taskName, GenerateSourcesTask.class, decompiler).configure(task -> { + task.setDescription("Decompile minecraft using %s.".formatted(decompiler.name())); + task.setGroup(Constants.TaskGroup.FABRIC); + task.getInputJar().set(inputJar); + + if (mappingsProvider.hasUnpickDefinitions()) { + task.dependsOn(tasks.getByName("unpickJar")); + } + }); } + + tasks.register("genSources", task -> { + task.setDescription("Decompile minecraft using the default decompiler."); + task.setGroup(Constants.TaskGroup.FABRIC); + + task.dependsOn(project.getTasks().getByName("genSourcesWithCfr")); + }); }); } } |