From 88111bb33206b993ed06c5fb6b6292850a68fe6a Mon Sep 17 00:00:00 2001 From: Eugene Zhuravlev Date: Tue, 19 Aug 2014 16:55:27 +0400 Subject: [PATCH] move custom build messages dispatching to base class (IDEA-128702 custom builder messages are ignored on automake) --- .../src/com/intellij/compiler/impl/CompileDriver.java | 8 -------- .../compiler/server/DefaultMessageHandler.java | 11 ++++++++++- 2 files changed, 10 insertions(+), 9 deletions(-) diff --git a/java/compiler/impl/src/com/intellij/compiler/impl/CompileDriver.java b/java/compiler/impl/src/com/intellij/compiler/impl/CompileDriver.java index 406d16574955..3ff7406c9f88 100644 --- a/java/compiler/impl/src/com/intellij/compiler/impl/CompileDriver.java +++ b/java/compiler/impl/src/com/intellij/compiler/impl/CompileDriver.java @@ -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; } } }); diff --git a/java/compiler/impl/src/com/intellij/compiler/server/DefaultMessageHandler.java b/java/compiler/impl/src/com/intellij/compiler/server/DefaultMessageHandler.java index 6a8c9740df80..96271ada3751 100644 --- a/java/compiler/impl/src/com/intellij/compiler/server/DefaultMessageHandler.java +++ b/java/compiler/impl/src/com/intellij/compiler/server/DefaultMessageHandler.java @@ -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());