aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/net/fabricmc/loom/task/GenerateSourcesTask.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/net/fabricmc/loom/task/GenerateSourcesTask.java')
-rw-r--r--src/main/java/net/fabricmc/loom/task/GenerateSourcesTask.java12
1 files changed, 11 insertions, 1 deletions
diff --git a/src/main/java/net/fabricmc/loom/task/GenerateSourcesTask.java b/src/main/java/net/fabricmc/loom/task/GenerateSourcesTask.java
index 2dbbdec6..f9c75b9e 100644
--- a/src/main/java/net/fabricmc/loom/task/GenerateSourcesTask.java
+++ b/src/main/java/net/fabricmc/loom/task/GenerateSourcesTask.java
@@ -44,6 +44,7 @@ import javax.inject.Inject;
import org.gradle.api.Project;
import org.gradle.api.file.ConfigurableFileCollection;
import org.gradle.api.file.RegularFileProperty;
+import org.gradle.api.provider.MapProperty;
import org.gradle.api.provider.Property;
import org.gradle.api.tasks.Input;
import org.gradle.api.tasks.InputFile;
@@ -84,6 +85,9 @@ public abstract class GenerateSourcesTask extends AbstractLoomTask {
@Input
public abstract Property<Long> getMaxMemory();
+ @Input
+ public abstract MapProperty<String, String> getOptions();
+
@Inject
public abstract WorkerExecutor getWorkerExecutor();
@@ -99,6 +103,7 @@ public abstract class GenerateSourcesTask extends AbstractLoomTask {
getOutputs().upToDateWhen((o) -> false);
getMaxMemory().convention(4096L).finalizeValueOnRead();
+ getOptions().finalizeValueOnRead();
}
@TaskAction
@@ -135,6 +140,8 @@ public abstract class GenerateSourcesTask extends AbstractLoomTask {
workQueue.submit(DecompileAction.class, params -> {
params.getDecompilerClass().set(decompiler.getClass().getCanonicalName());
+ params.getOptions().set(getOptions());
+
params.getInputJar().set(getInputJar());
params.getRuntimeJar().set(getExtension().getMappingsProvider().mappedProvider.getMappedJar());
params.getSourcesDestinationJar().set(getMappedJarFileWithSuffix("-sources.jar"));
@@ -183,6 +190,8 @@ public abstract class GenerateSourcesTask extends AbstractLoomTask {
public interface DecompileParams extends WorkParameters {
Property<String> getDecompilerClass();
+ MapProperty<String, String> getOptions();
+
RegularFileProperty getInputJar();
RegularFileProperty getRuntimeJar();
RegularFileProperty getSourcesDestinationJar();
@@ -232,7 +241,8 @@ public abstract class GenerateSourcesTask extends AbstractLoomTask {
Runtime.getRuntime().availableProcessors(),
getParameters().getMappings().get().getAsFile().toPath(),
getLibraries(),
- logger
+ logger,
+ getParameters().getOptions().get()
);
decompiler.decompile(