This appears to be a regression from 6.x and may be related to the fact that CompileContext.getProgressIndicator() returns null when invoked via executeTask.
java.lang.NullPointerException
at com.intellij.compiler.progress.CompilerTask.d(CompilerTask.java:117)
at com.intellij.compiler.progress.CompilerTask.addMessage(CompilerTask.java:115)
at com.intellij.compiler.impl.CompileContextImpl.addMessage(CompileContextImpl.java:1)
at com.intellij.compiler.impl.CompileContextImpl.addMessage(CompileContextImpl.java:38)
[[ our code ]]
at com.intellij.openapi.progress.impl.ProgressManagerImpl$2.run(ProgressManagerImpl.java:6)
at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:52)
at com.intellij.openapi.progress.impl.ProgressManagerImpl.runProcess(ProgressManagerImpl.java:39)
at com.intellij.compiler.impl.CompileDriver$20.run(CompileDriver.java:5)
at com.intellij.openapi.application.impl.ApplicationImpl$5.run(ApplicationImpl.java:8)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
at java.util.concurrent.FutureTask.run(FutureTask.java:138)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:885)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
at java.lang.Thread.run(Thread.java:619)
at com.intellij.openapi.application.impl.ApplicationImpl$1$1.run(ApplicationImpl.java:3)