diff --git a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/KotlinPluginUtil.kt b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/KotlinPluginUtil.kt index ea73df5d737..7c9367a7c80 100644 --- a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/KotlinPluginUtil.kt +++ b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/KotlinPluginUtil.kt @@ -6,7 +6,6 @@ package org.jetbrains.kotlin.idea import com.intellij.ide.plugins.IdeaPluginDescriptor -import com.intellij.ide.plugins.PluginManager import com.intellij.ide.plugins.PluginManagerCore import com.intellij.openapi.extensions.PluginId import java.io.File @@ -17,10 +16,15 @@ object KotlinPluginUtil { constructor(plugin: IdeaPluginDescriptor) : this(plugin.pluginId, plugin.version, plugin.path) } + private val KNOWN_KOTLIN_PLUGIN_IDS = listOf( + "org.jetbrains.kotlin", + "org.jetbrains.kotlin.native.clion", + "org.jetbrains.kotlin.native.appcode" + ).map { PluginId.getId(it) } + private val KOTLIN_PLUGIN_INFO: KotlinPluginInfo by lazy { - val plugin = PluginManagerCore.getPluginByClassName(KotlinPluginUtil::class.java.name)?.let { pluginId -> - PluginManager.getPlugin(pluginId) - } ?: error("Kotlin plugin not found: " + Arrays.toString(PluginManagerCore.getPlugins())) + val plugin = PluginManagerCore.getPlugins().firstOrNull { it.pluginId in KNOWN_KOTLIN_PLUGIN_IDS } + ?: error("Kotlin plugin not found: " + Arrays.toString(PluginManagerCore.getPlugins())) KotlinPluginInfo(plugin) }