/* * Copyright 2013 Guidewire Software, Inc. */ package gw.plugin.ij.compiler; import com.intellij.compiler.CompilerManagerImpl; import com.intellij.openapi.compiler.CompileContext; import com.intellij.openapi.compiler.CompileTask; import com.intellij.openapi.compiler.CompilerManager; import com.intellij.openapi.project.Project; public class CompilerLogger { private Project project; private long t1; public CompilerLogger(Project project) { this.project = project; } private CompileTask beforeTask = new CompileTask() { public boolean execute(CompileContext context) { t1 = System.currentTimeMillis(); return true; } }; private CompileTask afterTask = new CompileTask() { public boolean execute(CompileContext context) { long dt = (System.currentTimeMillis() - t1)/1000; String type = context.isRebuild() ? "Full" : "Incremental"; System.out.println(type + " compilation done in " + dt + " sec."); return true; } }; public void start() { CompilerManager compilerManager = CompilerManagerImpl.getInstance(project); compilerManager.addBeforeTask(beforeTask); compilerManager.addAfterTask(afterTask); } }