[java rd] use fake root packages for modules included in com.intellij.java.frontend plugin (IDEA-322563)

We need to have root packages for module xml files in plugin model v2, but if we specify packages with real classes in these modules, they'll fail to load with "must not be requested from main classloader" error, because inter-module dependencies aren't specified for these files. If we specify module dependencies, the big 'com.intellij.java' plugin will fail to load because it isn't migrated to plugin model v2 yet and includes contents of these module descriptors via xi:include tag. So it seems that we need to use fake packages without real classes until 'com.intellij.java' plugin is migrated to plugin model v2.

Check in InterfaceExtensionImplementationClassResolver is suppressed for 'com.intellij.java.frontend' plugin as well for now.

GitOrigin-RevId: 7b2321835becc9f4589ddae09a40160bf735044e
This commit is contained in:
Nikolay Chashnikov
2023-11-03 17:11:12 +01:00
committed by intellij-monorepo-bot
parent 77279ac8be
commit 055febd921
7 changed files with 12 additions and 3 deletions

View File

@@ -1,6 +1,7 @@
<idea-plugin package="com.intellij.codeInsight.definition">
<idea-plugin package="com.intellij.java.frontback.impl.fake">
<module value="com.intellij.java.frontback.impl" />
<extensionPoints>
<!--suppress PluginXmlValidity -->
<extensionPoint qualifiedName="com.intellij.java.definitions" interface="com.intellij.codeInsight.definition.AbstractBasicJavaDefinitionService" dynamic="true"/>
</extensionPoints>
</idea-plugin>

View File

@@ -0,0 +1,2 @@
This file is added as a temporary workaround to have fake root package in intellij.java.frontback.impl module.
It can be removed when Java Frontend plugin is properly migrated to Plugin Model v2.