From 805e96b99ce927f10255d5e0dad95669807e53db Mon Sep 17 00:00:00 2001 From: Ilya Muradyan Date: Mon, 29 Jul 2024 12:03:06 +0300 Subject: [PATCH] PY-64586: Fix NotebooksMigration242: Remove restriction on IU, add R plugin migration GitOrigin-RevId: 9f2c2d8637b4de91d0792ca8fb4514b13a1dc32d --- .../migrations/NotebooksMigration242.kt | 28 +++++++++++-------- 1 file changed, 17 insertions(+), 11 deletions(-) diff --git a/platform/platform-impl/src/com/intellij/openapi/application/migrations/NotebooksMigration242.kt b/platform/platform-impl/src/com/intellij/openapi/application/migrations/NotebooksMigration242.kt index 015f10c2d60f..3f50989e3b06 100644 --- a/platform/platform-impl/src/com/intellij/openapi/application/migrations/NotebooksMigration242.kt +++ b/platform/platform-impl/src/com/intellij/openapi/application/migrations/NotebooksMigration242.kt @@ -1,25 +1,31 @@ // 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.openapi.application.migrations -import com.intellij.ide.plugins.PluginManagerCore - +private const val JUPYTER_PLUGIN_ID = "intellij.jupyter" private const val JUPYTER_PY_PLUGIN_ID = "intellij.jupyter.py" private const val KOTLIN_NOTEBOOKS_PLUGIN_ID = "org.jetbrains.plugins.kotlin.jupyter" +private const val R_PLUGIN_ID = "R4Intellij" private const val NOTEBOOKS_CORE_PLUGIN_ID = "com.intellij.notebooks.core" internal class NotebooksMigration242 : PluginMigration() { override fun migratePlugins(descriptor: PluginMigrationDescriptor) { - if (PluginManagerCore.buildNumber.productCode == "IU") { - if (descriptor.currentPluginsToMigrate.contains(JUPYTER_PY_PLUGIN_ID)) { - descriptor.removePlugin(JUPYTER_PY_PLUGIN_ID) - descriptor.removePluginToDownload(JUPYTER_PY_PLUGIN_ID) - } + if (descriptor.currentPluginsToMigrate.contains(JUPYTER_PY_PLUGIN_ID)) { + descriptor.removePlugin(JUPYTER_PY_PLUGIN_ID) + descriptor.removePluginToDownload(JUPYTER_PY_PLUGIN_ID) + } - if (descriptor.currentPluginsToMigrate.contains(KOTLIN_NOTEBOOKS_PLUGIN_ID) - || descriptor.currentPluginsToDownload.contains(KOTLIN_NOTEBOOKS_PLUGIN_ID)) { - descriptor.addPluginIfNeeded(NOTEBOOKS_CORE_PLUGIN_ID) - } + val pluginsThatNeedNotebooksCore = listOf( + KOTLIN_NOTEBOOKS_PLUGIN_ID, + JUPYTER_PLUGIN_ID, + R_PLUGIN_ID, + ) + + if (pluginsThatNeedNotebooksCore.any { pluginId -> + descriptor.currentPluginsToMigrate.contains(pluginId) + || descriptor.currentPluginsToDownload.contains(pluginId) + }) { + descriptor.addPluginIfNeeded(NOTEBOOKS_CORE_PLUGIN_ID) } } }