Annotation InternalIgnoreDependencyViolation
allows class to be used among various plugins.
By default, classloader of extension class must be equal to classloader of plugin where extension is defined.
It means that class of extension must be located in a module where corresponding plugin descriptor is located.
Generally, IJ Platform prohibits referencing extension class belonging to plugin1
from the plugin.xml
in plugin2
.
However, sometimes this kind of dependency violation is necessary, in which case the corresponding extension must be annotated with this annotation.
For example: