diff options
Diffstat (limited to 'platform/platform-impl/src/com/intellij/jps/impl/JpsIdePluginManagerImpl.java')
-rw-r--r-- | platform/platform-impl/src/com/intellij/jps/impl/JpsIdePluginManagerImpl.java | 19 |
1 files changed, 15 insertions, 4 deletions
diff --git a/platform/platform-impl/src/com/intellij/jps/impl/JpsIdePluginManagerImpl.java b/platform/platform-impl/src/com/intellij/jps/impl/JpsIdePluginManagerImpl.java index 72e7b8a4973e..a4d4637fa81d 100644 --- a/platform/platform-impl/src/com/intellij/jps/impl/JpsIdePluginManagerImpl.java +++ b/platform/platform-impl/src/com/intellij/jps/impl/JpsIdePluginManagerImpl.java @@ -37,15 +37,26 @@ public class JpsIdePluginManagerImpl extends JpsPluginManager { public JpsIdePluginManagerImpl() { ExtensionsArea rootArea = Extensions.getRootArea(); - //todo[nik] introduce more generic platform extension for JPS plugins instead + //todo[nik] get rid of this check: currently this class is used in jps-builders tests instead of JpsPluginManagerImpl because platform-impl module is added to classpath via testFramework + if (rootArea.hasExtensionPoint(JpsPluginBean.EP_NAME.getName())) { + rootArea.getExtensionPoint(JpsPluginBean.EP_NAME).addExtensionPointListener(new ExtensionPointListener<JpsPluginBean>() { + @Override + public void extensionAdded(@NotNull JpsPluginBean extension, @Nullable PluginDescriptor pluginDescriptor) { + ContainerUtil.addIfNotNull(pluginDescriptor, myExternalBuildPlugins); + } + + @Override + public void extensionRemoved(@NotNull JpsPluginBean extension, @Nullable PluginDescriptor pluginDescriptor) { + } + }); + } if (rootArea.hasExtensionPoint("com.intellij.compileServer.plugin")) { ExtensionPoint extensionPoint = rootArea.getExtensionPoint("com.intellij.compileServer.plugin"); + //noinspection unchecked extensionPoint.addExtensionPointListener(new ExtensionPointListener() { @Override public void extensionAdded(@NotNull Object extension, @Nullable PluginDescriptor pluginDescriptor) { - if (pluginDescriptor != null) { - myExternalBuildPlugins.add(pluginDescriptor); - } + ContainerUtil.addIfNotNull(pluginDescriptor, myExternalBuildPlugins); } @Override |