aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/net/fabricmc/loom/build/mixin/ScalaApInvoker.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/net/fabricmc/loom/build/mixin/ScalaApInvoker.java')
-rw-r--r--src/main/java/net/fabricmc/loom/build/mixin/ScalaApInvoker.java24
1 files changed, 19 insertions, 5 deletions
diff --git a/src/main/java/net/fabricmc/loom/build/mixin/ScalaApInvoker.java b/src/main/java/net/fabricmc/loom/build/mixin/ScalaApInvoker.java
index bc77e152..7a3238b7 100644
--- a/src/main/java/net/fabricmc/loom/build/mixin/ScalaApInvoker.java
+++ b/src/main/java/net/fabricmc/loom/build/mixin/ScalaApInvoker.java
@@ -25,17 +25,31 @@
package net.fabricmc.loom.build.mixin;
import java.io.File;
+import java.util.Map;
+import java.util.Objects;
+import java.util.stream.Collectors;
import com.google.common.collect.ImmutableList;
import org.gradle.api.Project;
+import org.gradle.api.tasks.SourceSet;
import org.gradle.api.tasks.scala.ScalaCompile;
+import net.fabricmc.loom.LoomGradleExtension;
+import net.fabricmc.loom.extension.MixinApExtension;
+
public class ScalaApInvoker extends AnnotationProcessorInvoker<ScalaCompile> {
public ScalaApInvoker(Project project) {
- super(project,
- // Scala just uses the java AP configuration afaik. This of course assumes the java AP also gets configured.
- ImmutableList.of(),
- project.getTasks().withType(ScalaCompile.class));
+ super(
+ project,
+ // Scala just uses the java AP configuration afaik. This of course assumes the java AP also gets configured.
+ ImmutableList.of(),
+ getInvokerTasks(project));
+ }
+
+ private static Map<SourceSet, ScalaCompile> getInvokerTasks(Project project) {
+ MixinApExtension mixin = LoomGradleExtension.get(project).getMixinApExtension();
+ return mixin.getInvokerTasksStream(AnnotationProcessorInvoker.SCALA)
+ .collect(Collectors.toMap(Map.Entry::getKey, entry -> Objects.requireNonNull((ScalaCompile) entry.getValue())));
}
@Override
@@ -44,7 +58,7 @@ public class ScalaApInvoker extends AnnotationProcessorInvoker<ScalaCompile> {
}
@Override
- protected File getDestinationDir(ScalaCompile task) {
+ protected File getRefmapDestinationDir(ScalaCompile task) {
return task.getDestinationDir();
}
}