IJPL-215166 DynamicPlugins: migrate usages of deprecated unloadPluginWithProgress

handle the case when ContentModuleDescriptor is used as an argument

GitOrigin-RevId: bf6124f44612217c87f728b951c230ef797c8b56
This commit is contained in:
Vadim Salavatov
2025-11-18 19:55:15 +00:00
committed by intellij-monorepo-bot
parent a97d45d097
commit 6b36affbb3
3 changed files with 8 additions and 24 deletions
@@ -98,7 +98,7 @@ public final class PluginInstaller {
@ApiStatus.Internal
public static boolean unloadDynamicPlugin(
@Nullable JComponent parentComponent,
@NotNull IdeaPluginDescriptorImpl pluginDescriptor,
@NotNull PluginMainDescriptor pluginDescriptor,
boolean isUpdate
) {
var options = new DynamicPlugins.UnloadPluginOptions().withDisable(false).withWaitForClassloaderUnload(true).withUpdate(isUpdate);
@@ -110,7 +110,7 @@ public final class PluginInstaller {
@ApiStatus.Internal
public static boolean uninstallDynamicPlugin(
@Nullable JComponent parentComponent,
@NotNull IdeaPluginDescriptorImpl pluginDescriptor,
@NotNull PluginMainDescriptor pluginDescriptor,
boolean isUpdate
) {
if (pluginDescriptor.isBundled()) {
@@ -16,12 +16,7 @@ import com.intellij.ide.plugins.PluginUtils.toPluginDescriptors
import com.intellij.ide.plugins.api.PluginDto
import com.intellij.ide.plugins.marketplace.*
import com.intellij.ide.plugins.newui.PluginInstallationCustomization.Companion.findPluginInstallationCustomization
import com.intellij.openapi.application.ApplicationInfo
import com.intellij.openapi.application.ApplicationManager
import com.intellij.openapi.application.EDT
import com.intellij.openapi.application.ModalityState
import com.intellij.openapi.application.PathManager
import com.intellij.openapi.application.asContextElement
import com.intellij.openapi.application.*
import com.intellij.openapi.application.ex.ApplicationInfoEx
import com.intellij.openapi.components.service
import com.intellij.openapi.diagnostic.Logger
@@ -394,7 +389,7 @@ object DefaultUiPluginManagerController : UiPluginManagerController {
session.statesDiff.clear();
session.pluginsToRemoveOnCancel.forEach {
PluginInstaller.uninstallDynamicPlugin(parentComponent, it, false)
PluginInstaller.uninstallDynamicPlugin(parentComponent, it.getMainDescriptor(), false)
}
session.pluginsToRemoveOnCancel.clear()
if (removeSession) {
@@ -530,8 +525,8 @@ object DefaultUiPluginManagerController : UiPluginManagerController {
private fun uninstallDynamicPlugin(parentComponent: JComponent?, sessionId: String, pluginId: PluginId, isUpdate: Boolean): Boolean {
val session = findSession(sessionId) ?: return true
val descriptorImpl = PluginManagerCore.findPlugin(pluginId) ?: return false
val uninstalledWithoutRestart = PluginInstaller.uninstallDynamicPlugin(parentComponent, descriptorImpl, isUpdate)
val plugin = PluginManagerCore.findPlugin(pluginId)?.getMainDescriptor() ?: return false
val uninstalledWithoutRestart = PluginInstaller.uninstallDynamicPlugin(parentComponent, plugin, isUpdate)
session.needRestart = session.needRestart || !uninstalledWithoutRestart
return uninstalledWithoutRestart
}
@@ -1,26 +1,15 @@
// Copyright 2000-2025 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
package com.intellij.platform.pluginManager.backend.rpc
import com.intellij.ide.plugins.DynamicPlugins
import com.intellij.ide.plugins.InstallFromDiskAction
import com.intellij.ide.plugins.InstallPluginRequest
import com.intellij.ide.plugins.InstalledPluginsTableModel
import com.intellij.ide.plugins.PluginEnabler
import com.intellij.ide.plugins.PluginInstaller
import com.intellij.ide.plugins.PluginManagerCore
import com.intellij.ide.plugins.api.PluginDto
import com.intellij.ide.plugins.*
import com.intellij.ide.plugins.api.PluginDto
import com.intellij.ide.plugins.marketplace.*
import com.intellij.ide.plugins.newui.BgProgressIndicator
import com.intellij.ide.plugins.newui.DefaultUiPluginManagerController
import com.intellij.ide.plugins.newui.PluginManagerSessionService
import com.intellij.ide.plugins.newui.PluginUiModel
import com.intellij.ide.plugins.newui.SessionStatePluginEnabler
import com.intellij.openapi.application.EDT
import com.intellij.openapi.diagnostic.Logger
import com.intellij.openapi.extensions.PluginId
import com.intellij.openapi.util.IntellijInternalApi
import com.intellij.openapi.project.Project
import com.intellij.openapi.updateSettings.impl.pluginsAdvertisement.FUSEventSource
import com.intellij.openapi.util.io.FileUtil
import com.intellij.platform.pluginManager.shared.rpc.PluginInstallerApi
@@ -35,7 +24,7 @@ import java.io.IOException
internal class BackendPluginInstallerApi : PluginInstallerApi {
override suspend fun unloadDynamicPlugin(pluginId: PluginId, isUpdate: Boolean): Boolean {
val pluginDescriptor = PluginManagerCore.findPlugin(pluginId) ?: return false
val pluginDescriptor = PluginManagerCore.findPlugin(pluginId)?.getMainDescriptor() ?: return false
return PluginInstaller.unloadDynamicPlugin(null, pluginDescriptor, isUpdate)
}