From 6079055a3f9057af5fd88d5a59e9ff975c7f5000 Mon Sep 17 00:00:00 2001 From: Vladimir Krivosheev Date: Tue, 26 Mar 2024 15:08:06 +0100 Subject: [PATCH] IJPL-866 modules -> pluginAliases (avoid confusion) GitOrigin-RevId: 24b48f378f22679aa35dde1c2502707f9199b690 --- .../com/intellij/ide/plugins/IdeaPluginDescriptorImpl.kt | 6 +++--- .../src/com/intellij/ide/plugins/ModuleGraph.kt | 4 ++-- .../src/com/intellij/ide/plugins/PluginLoadingResult.kt | 6 +++--- .../src/com/intellij/ide/plugins/PluginManagerCore.kt | 9 +++++---- .../src/com/intellij/ide/plugins/PluginSetBuilder.kt | 4 ++-- .../src/com/intellij/ide/plugins/RawPluginDescriptor.kt | 4 ++-- .../core-impl/src/com/intellij/ide/plugins/XmlReader.kt | 6 +++--- .../com/intellij/execution/target/RunTargetsEnabled.java | 4 ++-- .../src/com/intellij/ide/plugins/BundledPluginsLister.kt | 4 ++-- .../src/com/intellij/ide/plugins/RepositoryHelper.java | 2 +- .../com/intellij/ide/plugins/newui/MyPluginModel.java | 7 ++++--- .../com/intellij/ide/plugins/PluginManagerTest.java | 4 ++-- 12 files changed, 31 insertions(+), 29 deletions(-) diff --git a/platform/core-impl/src/com/intellij/ide/plugins/IdeaPluginDescriptorImpl.kt b/platform/core-impl/src/com/intellij/ide/plugins/IdeaPluginDescriptorImpl.kt index 87b6e8ce3ee5..9c10e1e9c6fc 100644 --- a/platform/core-impl/src/com/intellij/ide/plugins/IdeaPluginDescriptorImpl.kt +++ b/platform/core-impl/src/com/intellij/ide/plugins/IdeaPluginDescriptorImpl.kt @@ -160,7 +160,7 @@ class IdeaPluginDescriptorImpl( val dependencies: ModuleDependenciesDescriptor = raw.dependencies @JvmField - var modules: List = raw.modules ?: Java11Shim.INSTANCE.listOf() + var pluginAliases: List = raw.pluginAliases ?: Java11Shim.INSTANCE.listOf() private val descriptionChildText = raw.description @@ -269,13 +269,13 @@ class IdeaPluginDescriptorImpl( } if (id == PluginManagerCore.CORE_ID) { - modules = modules + IdeaPluginOsRequirement.getHostOsModuleIds() + pluginAliases = pluginAliases + IdeaPluginOsRequirement.getHostOsModuleIds() if (!AppMode.isRemoteDevHost()) { // Dependency on this ID may be used to enable some functionality in the local IDE // and in JetBrains Client, but disable it in product running in backend mode. // This is needed because the backend process currently doesn't use module-based loader and therefore cannot // use marker modules from ProductModes. - modules = modules + PluginId.getId("com.intellij.platform.experimental.frontend") + pluginAliases = pluginAliases + PluginId.getId("com.intellij.platform.experimental.frontend") } } diff --git a/platform/core-impl/src/com/intellij/ide/plugins/ModuleGraph.kt b/platform/core-impl/src/com/intellij/ide/plugins/ModuleGraph.kt index 518d2303e76b..8e02f97b7c78 100644 --- a/platform/core-impl/src/com/intellij/ide/plugins/ModuleGraph.kt +++ b/platform/core-impl/src/com/intellij/ide/plugins/ModuleGraph.kt @@ -52,8 +52,8 @@ internal fun createModuleGraph(plugins: Collection): M val modules = ArrayList(moduleMap.size) for (module in plugins) { moduleMap.put(module.pluginId.idString, module) - for (v1Module in module.modules) { - moduleMap.put(v1Module.idString, module) + for (pluginAlias in module.pluginAliases) { + moduleMap.put(pluginAlias.idString, module) } modules.add(module) diff --git a/platform/core-impl/src/com/intellij/ide/plugins/PluginLoadingResult.kt b/platform/core-impl/src/com/intellij/ide/plugins/PluginLoadingResult.kt index 26c69eeabc65..68f0d04f5ca3 100644 --- a/platform/core-impl/src/com/intellij/ide/plugins/PluginLoadingResult.kt +++ b/platform/core-impl/src/com/intellij/ide/plugins/PluginLoadingResult.kt @@ -1,4 +1,4 @@ -// Copyright 2000-2023 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license. +// Copyright 2000-2024 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license. @file:Suppress("ReplaceGetOrSet", "ReplacePutWithAssignment") package com.intellij.ide.plugins @@ -102,8 +102,8 @@ class PluginLoadingResult(private val checkModuleDependencies: Boolean = !Platfo val prevDescriptor = enabledPluginsById.put(pluginId, descriptor) if (prevDescriptor == null) { idMap.put(pluginId, descriptor) - for (module in descriptor.modules) { - checkAndAdd(descriptor, module) + for (pluginAlias in descriptor.pluginAliases) { + checkAndAdd(descriptor, pluginAlias) } return } diff --git a/platform/core-impl/src/com/intellij/ide/plugins/PluginManagerCore.kt b/platform/core-impl/src/com/intellij/ide/plugins/PluginManagerCore.kt index 77893e513c4c..9dcb703f8c81 100644 --- a/platform/core-impl/src/com/intellij/ide/plugins/PluginManagerCore.kt +++ b/platform/core-impl/src/com/intellij/ide/plugins/PluginManagerCore.kt @@ -857,8 +857,9 @@ object PluginManagerCore { } @Internal - fun findPluginByModuleDependency(id: PluginId): IdeaPluginDescriptorImpl? = - getPluginSet().allPlugins.firstOrNull { it.modules.contains(id) } + fun findPluginByModuleDependency(id: PluginId): IdeaPluginDescriptorImpl? { + return getPluginSet().allPlugins.firstOrNull { it.pluginAliases.contains(id) } + } @JvmStatic fun isPluginInstalled(id: PluginId): Boolean { @@ -877,8 +878,8 @@ object PluginManagerCore { duplicateMap = newDuplicateMap continue } - for (module in descriptor.modules) { - newDuplicateMap = checkAndPut(descriptor = descriptor, id = module, idMap = idMap, prevDuplicateMap = duplicateMap) + for (pluginAlias in descriptor.pluginAliases) { + newDuplicateMap = checkAndPut(descriptor = descriptor, id = pluginAlias, idMap = idMap, prevDuplicateMap = duplicateMap) if (newDuplicateMap != null) { duplicateMap = newDuplicateMap } diff --git a/platform/core-impl/src/com/intellij/ide/plugins/PluginSetBuilder.kt b/platform/core-impl/src/com/intellij/ide/plugins/PluginSetBuilder.kt index d5e971e986da..4dcf33821e4b 100644 --- a/platform/core-impl/src/com/intellij/ide/plugins/PluginSetBuilder.kt +++ b/platform/core-impl/src/com/intellij/ide/plugins/PluginSetBuilder.kt @@ -107,8 +107,8 @@ class PluginSetBuilder(@JvmField val unsortedPlugins: Set? = null + @JvmField internal var pluginAliases: MutableList? = null @JvmField internal var depends: MutableList? = null @JvmField internal var actions: MutableList? = null diff --git a/platform/core-impl/src/com/intellij/ide/plugins/XmlReader.kt b/platform/core-impl/src/com/intellij/ide/plugins/XmlReader.kt index 2404957bc151..5a7233ac250f 100644 --- a/platform/core-impl/src/com/intellij/ide/plugins/XmlReader.kt +++ b/platform/core-impl/src/com/intellij/ide/plugins/XmlReader.kt @@ -227,10 +227,10 @@ private fun readRootElementChild(reader: XMLStreamReader2, "product-descriptor" -> readProduct(reader, descriptor) "module" -> { findAttributeValue(reader, "value")?.let { moduleName -> - if (descriptor.modules == null) { - descriptor.modules = ArrayList() + if (descriptor.pluginAliases == null) { + descriptor.pluginAliases = ArrayList() } - descriptor.modules!!.add(PluginId.getId(moduleName)) + descriptor.pluginAliases!!.add(PluginId.getId(moduleName)) } reader.skipElement() } diff --git a/platform/execution-impl/src/com/intellij/execution/target/RunTargetsEnabled.java b/platform/execution-impl/src/com/intellij/execution/target/RunTargetsEnabled.java index 0ba798414e4b..31a15d1ad643 100644 --- a/platform/execution-impl/src/com/intellij/execution/target/RunTargetsEnabled.java +++ b/platform/execution-impl/src/com/intellij/execution/target/RunTargetsEnabled.java @@ -1,4 +1,4 @@ -// Copyright 2000-2021 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file. +// Copyright 2000-2024 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license. package com.intellij.execution.target; import com.intellij.ide.plugins.IdeaPluginDescriptorImpl; @@ -19,7 +19,7 @@ public final class RunTargetsEnabled { } IdeaPluginDescriptorImpl corePluginDescriptor = (IdeaPluginDescriptorImpl)PluginManagerCore.getPlugin(PluginManagerCore.CORE_ID); - return corePluginDescriptor != null && corePluginDescriptor.modules.contains(PluginId.getId("com.intellij.modules.run.targets")); + return corePluginDescriptor != null && corePluginDescriptor.pluginAliases.contains(PluginId.getId("com.intellij.modules.run.targets")); } @TestOnly diff --git a/platform/platform-impl/src/com/intellij/ide/plugins/BundledPluginsLister.kt b/platform/platform-impl/src/com/intellij/ide/plugins/BundledPluginsLister.kt index 6dfdc4018c5d..d9ac4f34ac9a 100644 --- a/platform/platform-impl/src/com/intellij/ide/plugins/BundledPluginsLister.kt +++ b/platform/platform-impl/src/com/intellij/ide/plugins/BundledPluginsLister.kt @@ -1,4 +1,4 @@ -// Copyright 2000-2023 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license. +// Copyright 2000-2024 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license. package com.intellij.ide.plugins import com.fasterxml.jackson.core.JsonFactory @@ -42,7 +42,7 @@ private class BundledPluginsLister : ModernApplicationStarter() { val pluginIds = ArrayList(plugins.size) for (plugin in plugins) { pluginIds.add(plugin.pluginId.idString) - plugin.modules.mapTo(modules) { it.idString } + plugin.pluginAliases.mapTo(modules) { it.idString } plugin.content.modules.mapTo(modules) { it.name } } pluginIds.sort() diff --git a/platform/platform-impl/src/com/intellij/ide/plugins/RepositoryHelper.java b/platform/platform-impl/src/com/intellij/ide/plugins/RepositoryHelper.java index 31c030e4cd68..ea74ab17a9b6 100644 --- a/platform/platform-impl/src/com/intellij/ide/plugins/RepositoryHelper.java +++ b/platform/platform-impl/src/com/intellij/ide/plugins/RepositoryHelper.java @@ -173,7 +173,7 @@ public final class RepositoryHelper { private static boolean isPaidPluginsRequireMarketplacePlugin() { var core = PluginManagerCore.findPlugin(PluginManagerCore.CORE_ID); - return core == null || !core.modules.contains(PluginId.getId(ULTIMATE_MODULE)) || !ApplicationInfoImpl.getShadowInstance().isVendorJetBrains(); + return core == null || !core.pluginAliases.contains(PluginId.getId(ULTIMATE_MODULE)) || !ApplicationInfoImpl.getShadowInstance().isVendorJetBrains(); } private static void addMarketplacePluginDependencyIfRequired(PluginNode node, boolean isPaidPluginsRequireMarketplacePlugin) { diff --git a/platform/platform-impl/src/com/intellij/ide/plugins/newui/MyPluginModel.java b/platform/platform-impl/src/com/intellij/ide/plugins/newui/MyPluginModel.java index 73d17f6a89f6..a7381c983667 100644 --- a/platform/platform-impl/src/com/intellij/ide/plugins/newui/MyPluginModel.java +++ b/platform/platform-impl/src/com/intellij/ide/plugins/newui/MyPluginModel.java @@ -1,4 +1,4 @@ -// Copyright 2000-2023 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license. +// Copyright 2000-2024 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license. package com.intellij.ide.plugins.newui; import com.intellij.externalDependencies.DependencyOnPlugin; @@ -983,8 +983,9 @@ public class MyPluginModel extends InstalledPluginsTableModel implements PluginE for (PluginId pluginId : requiredPluginIds) { IdeaPluginDescriptor result = ContainerUtil.find(view, d -> pluginId.equals(d.getPluginId())); if (result == null && PluginManagerCore.isModuleDependency(pluginId)) { - result = ContainerUtil.find(view, - d -> d instanceof IdeaPluginDescriptorImpl && ((IdeaPluginDescriptorImpl)d).modules.contains(pluginId)); + result = ContainerUtil.find(view, d -> { + return d instanceof IdeaPluginDescriptorImpl && ((IdeaPluginDescriptorImpl)d).pluginAliases.contains(pluginId); + }); if (result != null) { setEnabled(pluginId, PluginEnabledState.ENABLED); // todo } diff --git a/platform/platform-tests/testSrc/com/intellij/ide/plugins/PluginManagerTest.java b/platform/platform-tests/testSrc/com/intellij/ide/plugins/PluginManagerTest.java index 0e29120a4698..844aa41b3c69 100644 --- a/platform/platform-tests/testSrc/com/intellij/ide/plugins/PluginManagerTest.java +++ b/platform/platform-tests/testSrc/com/intellij/ide/plugins/PluginManagerTest.java @@ -1,4 +1,4 @@ -// Copyright 2000-2023 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license. +// Copyright 2000-2024 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license. package com.intellij.ide.plugins; import com.intellij.openapi.extensions.PluginId; @@ -418,7 +418,7 @@ public class PluginManagerTest { sb.append("\n "); sb.append("\n ").append(escape.apply(d.getPluginId().getIdString())).append(""); sb.append("\n ").append(StringUtil.escapeXmlEntities(d.getName())).append(""); - for (PluginId module : d.modules) { + for (PluginId module : d.pluginAliases) { sb.append("\n "); } for (var dependency : d.pluginDependencies) {