Don't use plugin classloader to get Kotlin plugin info
Issue #KT-31598 Fixed
This commit is contained in:
@@ -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)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user