move custom build messages dispatching to base class (IDEA-128702 custom builder messages are ignored on automake)

This commit is contained in:
Eugene Zhuravlev
2014-08-19 17:02:49 +04:00
parent 87099a23cd
commit 88111bb332
2 changed files with 10 additions and 9 deletions
@@ -28,7 +28,6 @@ import com.intellij.compiler.ModuleCompilerUtil;
import com.intellij.compiler.ProblemsView;
import com.intellij.compiler.progress.CompilerTask;
import com.intellij.compiler.server.BuildManager;
import com.intellij.compiler.server.CustomBuilderMessageHandler;
import com.intellij.compiler.server.DefaultMessageHandler;
import com.intellij.openapi.application.ApplicationManager;
import com.intellij.openapi.compiler.*;
@@ -340,13 +339,6 @@ public class CompileDriver {
}
compileContext.putUserDataIfAbsent(COMPILE_SERVER_BUILD_STATUS, status);
break;
case CUSTOM_BUILDER_MESSAGE:
if (event.hasCustomBuilderMessage()) {
CmdlineRemoteProto.Message.BuilderMessage.BuildEvent.CustomBuilderMessage message = event.getCustomBuilderMessage();
messageBus.syncPublisher(CustomBuilderMessageHandler.TOPIC).messageReceived(message.getBuilderId(), message.getMessageType(),
message.getMessageText());
}
break;
}
}
});
@@ -66,7 +66,16 @@ public abstract class DefaultMessageHandler implements BuilderMessageHandler {
//noinspection EnumSwitchStatementWhichMissesCases
switch (msg.getType()) {
case BUILD_EVENT:
handleBuildEvent(sessionId, msg.getBuildEvent());
final CmdlineRemoteProto.Message.BuilderMessage.BuildEvent event = msg.getBuildEvent();
if (event.getEventType() == CmdlineRemoteProto.Message.BuilderMessage.BuildEvent.Type.CUSTOM_BUILDER_MESSAGE && event.hasCustomBuilderMessage()) {
final CmdlineRemoteProto.Message.BuilderMessage.BuildEvent.CustomBuilderMessage message = event.getCustomBuilderMessage();
if (!myProject.isDisposed()) {
myProject.getMessageBus().syncPublisher(CustomBuilderMessageHandler.TOPIC).messageReceived(
message.getBuilderId(), message.getMessageType(), message.getMessageText()
);
}
}
handleBuildEvent(sessionId, event);
break;
case COMPILE_MESSAGE:
handleCompileMessage(sessionId, msg.getCompileMessage());