summaryrefslogtreecommitdiff
path: root/platform/platform-impl/src/com/intellij/jps/impl/JpsIdePluginManagerImpl.java
diff options
context:
space:
mode:
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.java19
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