plugin loading: don't fail if one of plugins required for a plugin which defines a module cannot be loaded (IDEA-152606)

This commit is contained in:
nik
2016-03-04 18:12:13 +03:00
parent a8845d42c3
commit 2c4d021cd4
@@ -596,7 +596,11 @@ public class PluginManagerCore {
// check for missing optional dependency
IdeaPluginDescriptor dep = idToDescriptorMap.get(dependentPluginId);
if (dep != null) {
plugins.add(dep.getPluginId());
//if 'dep' refers to a module we need to add the real plugin containing this module only if it's still enabled, otherwise the graph will be inconsistent
PluginId realPluginId = dep.getPluginId();
if (idToDescriptorMap.containsKey(realPluginId)) {
plugins.add(realPluginId);
}
}
}
return plugins.iterator();