package xapi.javac.dev.plugin;
import com.sun.source.util.JavacTask;
import com.sun.source.util.Plugin;
import com.sun.source.util.TaskListener;
import com.sun.source.util.Trees;
import com.sun.tools.javac.api.BasicJavacTask;
import xapi.javac.dev.api.CompilerService;
import xapi.javac.dev.api.JavacService;
import static xapi.javac.dev.api.CompilerService.compileServiceFrom;
public class XapiCompilerPlugin implements Plugin {
private TaskListener listener;
private Trees trees;
private JavacService service;
@Override
public String getName() {
return "XapiCompilerPlugin";
}
@Override
public void init(JavacTask javac, String... args) {
final BasicJavacTask task = (BasicJavacTask)javac;
trees = Trees.instance(javac);
service = JavacService.instanceFor(javac);
CompilerService compilerService = compileServiceFrom(service);
task.addTaskListener(compilerService.getTaskListener(task));
}
}