diff --git a/platform/platform-impl/src/com/intellij/ide/plugins/ActionInstallPlugin.java b/platform/platform-impl/src/com/intellij/ide/plugins/ActionInstallPlugin.java index f1399ec5e82b..7f92920f3b53 100644 --- a/platform/platform-impl/src/com/intellij/ide/plugins/ActionInstallPlugin.java +++ b/platform/platform-impl/src/com/intellij/ide/plugins/ActionInstallPlugin.java @@ -36,6 +36,7 @@ import com.intellij.openapi.util.text.StringUtil; import com.intellij.util.Function; import com.intellij.util.net.IOExceptionDialog; import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; import javax.swing.event.HyperlinkEvent; import java.io.IOException; @@ -157,7 +158,7 @@ public class ActionInstallPlugin extends AnAction implements DumbAware { } if (needToRestart) { - notifyPluginsWereInstalled(); + notifyPluginsWereInstalled(list.size() == 1 ? list.get(0).getName() : null); } } } @@ -256,7 +257,7 @@ public class ActionInstallPlugin extends AnAction implements DumbAware { } } - private static void notifyPluginsWereInstalled() { + private static void notifyPluginsWereInstalled(@Nullable String pluginName) { final ApplicationEx app = ApplicationManagerEx.getApplicationEx(); final boolean restartCapable = app.isRestartCapable(); String message = ""; @@ -265,7 +266,8 @@ public class ActionInstallPlugin extends AnAction implements DumbAware { message += "
Restart now" : "\"shutdown\">Shutdown"; message += ""; - Notifications.Bus.notify(new Notification(IdeBundle.message("title.plugin.error"), IdeBundle.message("title.plugin.error"), + Notifications.Bus.notify(new Notification("Plugins Lifecycle Group", + pluginName != null ? "Plugin \'" + pluginName + "\' was successfully installed" : "Plugins were installed", message, NotificationType.INFORMATION, new NotificationListener() { @Override public void hyperlinkUpdate(@NotNull Notification notification, @NotNull HyperlinkEvent event) { diff --git a/platform/platform-impl/src/com/intellij/openapi/updateSettings/impl/DetectedPluginsPanel.java b/platform/platform-impl/src/com/intellij/openapi/updateSettings/impl/DetectedPluginsPanel.java index b3013c4a347e..860d7c367872 100644 --- a/platform/platform-impl/src/com/intellij/openapi/updateSettings/impl/DetectedPluginsPanel.java +++ b/platform/platform-impl/src/com/intellij/openapi/updateSettings/impl/DetectedPluginsPanel.java @@ -53,15 +53,17 @@ public class DetectedPluginsPanel extends OrderPanel { final int row, final int column) { final PluginDownloader downloader = (PluginDownloader)value; - append(downloader.getPluginName(), SimpleTextAttributes.REGULAR_ATTRIBUTES); - final IdeaPluginDescriptor ideaPluginDescriptor = PluginManager.getPlugin(PluginId.getId(downloader.getPluginId())); - final String loadedVersion = downloader.getPluginVersion(); - if (loadedVersion != null || (ideaPluginDescriptor != null && ideaPluginDescriptor.getVersion() != null)) { - final String installedVersion = ideaPluginDescriptor != null && ideaPluginDescriptor.getVersion() != null - ? "v. " + ideaPluginDescriptor.getVersion() + (loadedVersion != null ? " -> " : "") - : ""; - final String availableVersion = loadedVersion != null ? loadedVersion : ""; - append(" (" + installedVersion + availableVersion + ")", SimpleTextAttributes.GRAY_ATTRIBUTES); + if (downloader != null) { + append(downloader.getPluginName(), SimpleTextAttributes.REGULAR_ATTRIBUTES); + final IdeaPluginDescriptor ideaPluginDescriptor = PluginManager.getPlugin(PluginId.getId(downloader.getPluginId())); + final String loadedVersion = downloader.getPluginVersion(); + if (loadedVersion != null || (ideaPluginDescriptor != null && ideaPluginDescriptor.getVersion() != null)) { + final String installedVersion = ideaPluginDescriptor != null && ideaPluginDescriptor.getVersion() != null + ? "v. " + ideaPluginDescriptor.getVersion() + (loadedVersion != null ? " -> " : "") + : ""; + final String availableVersion = loadedVersion != null ? loadedVersion : ""; + append(" (" + installedVersion + availableVersion + ")", SimpleTextAttributes.GRAY_ATTRIBUTES); + } } } }); diff --git a/plugins/junit/src/com/intellij/execution/junit/TestObject.java b/plugins/junit/src/com/intellij/execution/junit/TestObject.java index 7ef35d90713f..6942a997b0b9 100644 --- a/plugins/junit/src/com/intellij/execution/junit/TestObject.java +++ b/plugins/junit/src/com/intellij/execution/junit/TestObject.java @@ -252,7 +252,7 @@ public abstract class TestObject implements JavaCommandLine { @Override public ExecutionResult execute(final Executor executor, @NotNull final ProgramRunner runner) throws ExecutionException { - final JUnitProcessHandler handler = createHandler(); + final JUnitProcessHandler handler = createHandler(executor); final RunnerSettings runnerSettings = getRunnerSettings(); JavaRunConfigurationExtensionManager.getInstance().attachExtensionsToProcess(myConfiguration, handler, runnerSettings); final TestProxy unboundOutputRoot = new TestProxy(new RootTestInfo()); @@ -360,19 +360,20 @@ public abstract class TestObject implements JavaCommandLine { TestsUIUtil.notifyByBalloon(myProject, model != null ? model.getRoot() : null, consoleProperties); } - protected JUnitProcessHandler createHandler() throws ExecutionException { - appendForkInfo(); + protected JUnitProcessHandler createHandler(Executor executor) throws ExecutionException { + appendForkInfo(executor); return JUnitProcessHandler.runCommandLine(CommandLineBuilder.createFromJavaParameters(myJavaParameters, myProject, true)); } - private void appendForkInfo() throws ExecutionException { + private void appendForkInfo(Executor executor) throws ExecutionException { final String forkMode = myConfiguration.getForkMode(); if (Comparing.strEqual(forkMode, "none")) { return; } - if (myRunnerSettings.getData() instanceof DebuggingRunnerData) { - throw new CantRunException("Debug is disabled in fork mode.
Please change fork mode to <none> to debug."); + if (myRunnerSettings.getData() != null) { + final String actionName = executor.getActionName(); + throw new CantRunException(actionName + " is disabled in fork mode.
Please change fork mode to <none> to " + actionName.toLowerCase() + "."); } final JavaParameters javaParameters = getJavaParameters(); diff --git a/plugins/junit/src/com/intellij/execution/junit/TestPackage.java b/plugins/junit/src/com/intellij/execution/junit/TestPackage.java index b4460ea4d7b9..2bb70b12c018 100644 --- a/plugins/junit/src/com/intellij/execution/junit/TestPackage.java +++ b/plugins/junit/src/com/intellij/execution/junit/TestPackage.java @@ -87,8 +87,8 @@ public class TestPackage extends TestObject { } @Override - protected JUnitProcessHandler createHandler() throws ExecutionException { - final JUnitProcessHandler handler = super.createHandler(); + protected JUnitProcessHandler createHandler(Executor executor) throws ExecutionException { + final JUnitProcessHandler handler = super.createHandler(executor); final SearchForTestsTask[] tasks = new SearchForTestsTask[1]; handler.addProcessListener(new ProcessAdapter() { @Override diff --git a/plugins/junit_rt/src/com/intellij/junit4/JUnit4TestRunnerUtil.java b/plugins/junit_rt/src/com/intellij/junit4/JUnit4TestRunnerUtil.java index fc75268f3598..9f65a8138aeb 100644 --- a/plugins/junit_rt/src/com/intellij/junit4/JUnit4TestRunnerUtil.java +++ b/plugins/junit_rt/src/com/intellij/junit4/JUnit4TestRunnerUtil.java @@ -17,7 +17,6 @@ package com.intellij.junit4; import org.junit.Ignore; import org.junit.internal.AssumptionViolatedException; -import org.junit.internal.builders.JUnit3Builder; import org.junit.internal.requests.ClassRequest; import org.junit.internal.runners.model.EachTestNotifier; import org.junit.runner.Description; @@ -151,7 +150,7 @@ public class JUnit4TestRunnerUtil { } try { if (clazz.getMethod("suite", new Class[0]) != null && !methodName.equals("suite")) { - return Request.runner(new JUnit3Builder().runnerForClass(clazz)).filterWith(Description.createTestDescription(clazz, methodName)); + return Request.classWithoutSuiteMethod(clazz).filterWith(Description.createTestDescription(clazz, methodName)); } } catch (Throwable e) { diff --git a/plugins/maven/src/test/java/org/jetbrains/idea/maven/dom/MavenExtensionCompletionAndResolutionTest.java b/plugins/maven/src/test/java/org/jetbrains/idea/maven/dom/MavenExtensionCompletionAndResolutionTest.java index 95f5341069c4..211cf736ca95 100644 --- a/plugins/maven/src/test/java/org/jetbrains/idea/maven/dom/MavenExtensionCompletionAndResolutionTest.java +++ b/plugins/maven/src/test/java/org/jetbrains/idea/maven/dom/MavenExtensionCompletionAndResolutionTest.java @@ -21,6 +21,8 @@ import com.intellij.psi.PsiReference; import org.jetbrains.idea.maven.indices.MavenIndicesTestFixture; import org.jetbrains.idea.maven.indices.MavenProjectIndicesManager; +import java.util.Arrays; +import java.util.HashSet; import java.util.List; public class MavenExtensionCompletionAndResolutionTest extends MavenDomWithIndicesTestCase { @@ -70,7 +72,7 @@ public class MavenExtensionCompletionAndResolutionTest extends MavenDomWithIndic List actual = getCompletionVariants(myProjectPom); - if (actual.isEmpty()) { + if (!new HashSet(actual).equals(new HashSet(Arrays.asList("maven-compiler-plugin", "maven-war-plugin", "maven-eclipse-plugin", "maven-surefire-plugin")))) { MavenProjectIndicesManager instance = MavenProjectIndicesManager.getInstance(myProject); System.out.println("GetArtifacts: " + instance.getArtifactIds("org.apache.maven.plugins")); System.out.println("Indexes: " + instance.getIndices());