mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
[kotlin] KTIJ-38940 Fix kotlin-reflect version added by the quick-fix in Maven and JPS projects
`AddReflectionQuickFixFactory` determines the version of `kotlin-reflect` through `KotlinLibraryVersionProvider`. This works correctly for Gradle via `KotlinGradlePluginLibraryVersionProvider`, but fails for Maven and JPS projects because `DefaultKotlinLibraryVersionProvider` only provides versions for `kotlinx-coroutines-core`, `kotlinx-datetime`, and `kotlinx-serialization-json`. Unlike these libraries, `kotlin-reflect` always uses the same version as the Kotlin compiler and therefore does not require a dedicated version mapping. As a result, `DefaultKotlinLibraryVersionProvider` returns `null`, causing `AddReflectionQuickFixFactory` to fall back to `KotlinPluginLayout.standaloneCompilerVersion.artifactVersion` instead of using the project's Kotlin version. This change makes `AddReflectionQuickFixFactory` use the project's Kotlin version when adding the `kotlin-reflect` dependency in Maven and JPS projects. (cherry picked from commit 80f489bb40569589ffe1c028e4d5da92aa61e7e7) IJ-CR-214534 GitOrigin-RevId: c74cd8abdab362f9bc1588c6df080c627d760d71
This commit is contained in:
committed by
intellij-monorepo-bot
parent
ab14c33387
commit
a35ded787d
+2
-4
@@ -10,9 +10,9 @@ import org.jetbrains.kotlin.idea.base.util.module
|
||||
import org.jetbrains.kotlin.idea.codeinsight.api.applicators.fixes.KotlinQuickFixFactory
|
||||
import org.jetbrains.kotlin.idea.compiler.configuration.KotlinPluginLayout
|
||||
import org.jetbrains.kotlin.idea.configuration.KotlinBuildSystemDependencyManager
|
||||
import org.jetbrains.kotlin.idea.configuration.KotlinLibraryVersionProvider
|
||||
import org.jetbrains.kotlin.idea.configuration.isProjectSyncPendingOrInProgress
|
||||
import org.jetbrains.kotlin.idea.configuration.withScope
|
||||
import org.jetbrains.kotlin.idea.facet.getRuntimeLibraryVersion
|
||||
import org.jetbrains.kotlin.idea.inspections.libraries.AddKotlinLibraryQuickFix
|
||||
|
||||
internal object AddReflectionQuickFixFactory {
|
||||
@@ -27,9 +27,7 @@ internal object AddReflectionQuickFixFactory {
|
||||
?: return@ModCommandBased emptyList()
|
||||
if (dependencyManager.isProjectSyncPendingOrInProgress()) return@ModCommandBased emptyList()
|
||||
|
||||
val version = KotlinLibraryVersionProvider.EP_NAME.extensionList.firstNotNullOfOrNull {
|
||||
it.getVersion(module, GROUP_ID, ARTIFACT_ID)
|
||||
} ?: KotlinPluginLayout.standaloneCompilerVersion.artifactVersion
|
||||
val version = (getRuntimeLibraryVersion(module) ?: KotlinPluginLayout.standaloneCompilerVersion).artifactVersion
|
||||
|
||||
val virtualFile = element.containingFile.virtualFile
|
||||
val scope = if (virtualFile != null && ProjectFileIndex.getInstance(module.project).isInTestSourceContent(virtualFile)) {
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
<dependency>
|
||||
<groupId>org.jetbrains.kotlin</groupId>
|
||||
<artifactId>kotlin-reflect</artifactId>
|
||||
<version>2.3.20</version>
|
||||
<version>2.1.0</version>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
|
||||
|
||||
Reference in New Issue
Block a user