Mixin processing runs under scala, allowing java mixins to call scala methods (#125)
This commit is contained in:
parent
0b07f1badf
commit
5ab5097b4d
1 changed files with 20 additions and 0 deletions
|
@ -50,6 +50,7 @@ import org.gradle.api.tasks.SourceSet;
|
|||
import org.gradle.api.tasks.bundling.AbstractArchiveTask;
|
||||
import org.gradle.api.tasks.compile.JavaCompile;
|
||||
import org.gradle.api.tasks.javadoc.Javadoc;
|
||||
import org.gradle.api.tasks.scala.ScalaCompile;
|
||||
import org.gradle.plugins.ide.eclipse.model.EclipseModel;
|
||||
import org.gradle.plugins.ide.idea.model.IdeaModel;
|
||||
|
||||
|
@ -133,6 +134,7 @@ public class AbstractPlugin implements Plugin<Project> {
|
|||
|
||||
configureIDEs();
|
||||
configureCompile();
|
||||
configureScala();
|
||||
|
||||
Map<Project, Set<Task>> taskMap = project.getAllTasks(true);
|
||||
for (Map.Entry<Project, Set<Task>> entry : taskMap.entrySet()) {
|
||||
|
@ -164,6 +166,24 @@ public class AbstractPlugin implements Plugin<Project> {
|
|||
return project;
|
||||
}
|
||||
|
||||
protected void configureScala() {
|
||||
project.afterEvaluate(proj -> {
|
||||
if (project.getPluginManager().hasPlugin("scala")) {
|
||||
ScalaCompile task = (ScalaCompile) project.getTasks().getByName("compileScala");
|
||||
LoomGradleExtension extension = project.getExtensions().getByType(LoomGradleExtension.class);
|
||||
project.getLogger().warn(":configuring scala compilation processing");
|
||||
try {
|
||||
task.getOptions().getCompilerArgs().add("-AinMapFileNamedIntermediary=" + extension.getMappingsProvider().MAPPINGS_TINY.getCanonicalPath());
|
||||
task.getOptions().getCompilerArgs().add("-AoutMapFileNamedIntermediary=" + extension.getMappingsProvider().MAPPINGS_MIXIN_EXPORT.getCanonicalPath());
|
||||
task.getOptions().getCompilerArgs().add("-AoutRefMapFile=" + new File(task.getDestinationDir(), extension.getRefmapName()).getCanonicalPath());
|
||||
task.getOptions().getCompilerArgs().add("-AdefaultObfuscationEnv=named:intermediary");
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Permit to add a Maven repository to a target project
|
||||
*
|
||||
|
|
Loading…
Reference in a new issue