mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
IJPL-217708 Rename platform/core plugins to pluginsWithUseIdeaClassLoader
GitOrigin-RevId: 9d50e165c666f32e0df94a8cc44ed90493677b56
This commit is contained in:
committed by
intellij-monorepo-bot
parent
4bcef8a3f2
commit
0b693d158f
+2
-2
@@ -138,7 +138,7 @@ internal class ModuleBasedProductLoadingStrategy(internal val moduleRepository:
|
||||
}
|
||||
val bundled = productModules.bundledPluginModuleGroups.map { moduleGroup ->
|
||||
scope.async {
|
||||
if (moduleGroup.includedModules.none { it.moduleDescriptor.moduleId in mainGroupModulesSet } || isPlatformPlugin(moduleGroup, context)) {
|
||||
if (moduleGroup.includedModules.none { it.moduleDescriptor.moduleId in mainGroupModulesSet } || isPluginWithUseIdeaClassLoader(moduleGroup, context)) {
|
||||
val serviceModuleMapping = serviceModuleMappingDeferred.await()
|
||||
loadPluginDescriptorFromRuntimeModule(
|
||||
pluginModuleGroup = moduleGroup,
|
||||
@@ -167,7 +167,7 @@ internal class ModuleBasedProductLoadingStrategy(internal val moduleRepository:
|
||||
* Returns true if [pluginModuleGroup] is a plugin with `use-idea-classloader` which should be loaded by platform.
|
||||
* Content modules of these plugins always should be loaded.
|
||||
*/
|
||||
private fun isPlatformPlugin(
|
||||
private fun isPluginWithUseIdeaClassLoader(
|
||||
pluginModuleGroup: PluginModuleGroup,
|
||||
loadingContext: PluginDescriptorLoadingContext,
|
||||
): Boolean {
|
||||
|
||||
@@ -105,7 +105,7 @@ internal fun generateCoreClasspathFromPlugins(
|
||||
val classPathResult = mutableSetOf<Path>()
|
||||
for (pluginEntity in pluginEntities) {
|
||||
val pluginLayout = pluginEntity.layout
|
||||
val classPathModules = extractPlatformPluginsModules(context, pluginLayout.mainModule)
|
||||
val classPathModules = getEmbeddedContentModulesOfPluginsWithUseIdeaClassloader(context, pluginLayout.mainModule)
|
||||
for (distributionEntry in pluginEntity.distribution) {
|
||||
if (distributionEntry is ModuleOwnedFileEntry && distributionEntry.owner?.moduleName in classPathModules) {
|
||||
classPathResult.add(distributionEntry.path)
|
||||
@@ -119,7 +119,7 @@ internal fun generateCoreClasspathFromPlugins(
|
||||
* Provides a set of content modules ("embedded" ones) and the module of the plugin itself, if it uses `use-idea-classloader`.
|
||||
* These modules should be included in the core classpath, also their libraries should be treated as platform libraries.
|
||||
*/
|
||||
internal fun extractPlatformPluginsModules(
|
||||
internal fun getEmbeddedContentModulesOfPluginsWithUseIdeaClassloader(
|
||||
context: BuildContext,
|
||||
pluginMainModule: String,
|
||||
): Set<String> {
|
||||
|
||||
@@ -15,7 +15,7 @@ import org.jetbrains.intellij.build.PLATFORM_LOADER_JAR
|
||||
import org.jetbrains.intellij.build.UTIL_8_JAR
|
||||
import org.jetbrains.intellij.build.UTIL_JAR
|
||||
import org.jetbrains.intellij.build.UTIL_RT_JAR
|
||||
import org.jetbrains.intellij.build.classPath.extractPlatformPluginsModules
|
||||
import org.jetbrains.intellij.build.classPath.getEmbeddedContentModulesOfPluginsWithUseIdeaClassloader
|
||||
import org.jetbrains.intellij.build.impl.PlatformJarNames.TEST_FRAMEWORK_JAR
|
||||
import org.jetbrains.intellij.build.isModuleNameLikeFilename
|
||||
import org.jetbrains.intellij.build.productLayout.ProductModulesLayout
|
||||
@@ -380,7 +380,7 @@ fun collectExportedLibrariesFromLibraryModules(
|
||||
val javaExtensionService = JpsJavaExtensionService.getInstance()
|
||||
val result = mutableMapOf<String, String>()
|
||||
val includedModuleNames = layout.includedModules.map { it.moduleName }
|
||||
val corePluginsContentModuleNames = computePlatformPluginsContentModules(context)
|
||||
val corePluginsContentModuleNames = computeContentModulesPluginsWhichUseIdeaClassloader(context)
|
||||
|
||||
(includedModuleNames + corePluginsContentModuleNames)
|
||||
.asSequence()
|
||||
@@ -496,11 +496,11 @@ private suspend fun computeImplicitRequiredModules(
|
||||
unique.add("intellij.notebooks.visualization")
|
||||
|
||||
// we should filter out modules which are included in plugins with `use-idea-classloader`
|
||||
val corePluginContents = computePlatformPluginsContentModules(context)
|
||||
val pluginsContents = computeContentModulesPluginsWhichUseIdeaClassloader(context)
|
||||
|
||||
val requiredDependencies = mutableListOf<Pair<String, PersistentList<String>>>()
|
||||
computeTransitive(list = rootList, context = context, unique = unique, result = requiredDependencies)
|
||||
val requiredModules = requiredDependencies.filter { it.first !in corePluginContents }
|
||||
val requiredModules = requiredDependencies.filter { it.first !in pluginsContents }
|
||||
|
||||
if (validateImplicitPlatformModule) {
|
||||
withContext(Dispatchers.IO) {
|
||||
@@ -518,10 +518,10 @@ private suspend fun computeImplicitRequiredModules(
|
||||
return requiredModules
|
||||
}
|
||||
|
||||
private fun computePlatformPluginsContentModules(context: BuildContext): Set<String> {
|
||||
private fun computeContentModulesPluginsWhichUseIdeaClassloader(context: BuildContext): Set<String> {
|
||||
val bundledPlugins = getPluginLayoutsByJpsModuleNames(modules = context.getBundledPluginModules(), productLayout = context.productProperties.productLayout)
|
||||
val corePluginContents = bundledPlugins.flatMap { extractPlatformPluginsModules(context, it.mainModule) }.toSet()
|
||||
return corePluginContents
|
||||
val pluginContents = bundledPlugins.flatMap { getEmbeddedContentModulesOfPluginsWithUseIdeaClassloader(context, it.mainModule) }.toSet()
|
||||
return pluginContents
|
||||
}
|
||||
|
||||
private fun computeTransitive(
|
||||
|
||||
Reference in New Issue
Block a user