diff --git a/plugins/kotlin/common/src/org/jetbrains/kotlin/idea/artifacts/KotlinArtifactNames.kt b/plugins/kotlin/common/src/org/jetbrains/kotlin/idea/artifacts/KotlinArtifactNames.kt
index c1ae77519c36..519a56731e05 100644
--- a/plugins/kotlin/common/src/org/jetbrains/kotlin/idea/artifacts/KotlinArtifactNames.kt
+++ b/plugins/kotlin/common/src/org/jetbrains/kotlin/idea/artifacts/KotlinArtifactNames.kt
@@ -25,4 +25,5 @@ object KotlinArtifactNames {
const val ALLOPEN_COMPILER_PLUGIN = "allopen-compiler-plugin.jar"
const val NOARG_COMPILER_PLUGIN = "noarg-compiler-plugin.jar"
const val SAM_WITH_RECEIVER_COMPILER_PLUGIN = "sam-with-receiver-compiler-plugin.jar"
+ const val KOTLINX_SERIALIZATION_COMPILER_PLUGIN = "kotlinx-serialization-compiler-plugin.jar"
}
\ No newline at end of file
diff --git a/plugins/kotlin/common/src/org/jetbrains/kotlin/idea/artifacts/KotlinArtifacts.kt b/plugins/kotlin/common/src/org/jetbrains/kotlin/idea/artifacts/KotlinArtifacts.kt
index e2eebabd4fc0..2cce6ba64ee7 100644
--- a/plugins/kotlin/common/src/org/jetbrains/kotlin/idea/artifacts/KotlinArtifacts.kt
+++ b/plugins/kotlin/common/src/org/jetbrains/kotlin/idea/artifacts/KotlinArtifacts.kt
@@ -47,6 +47,7 @@ abstract class KotlinArtifacts(val kotlincDistDir: File) {
val allopenCompilerPlugin = File(kotlincLibDirectory, KotlinArtifactNames.ALLOPEN_COMPILER_PLUGIN)
val noargCompilerPlugin = File(kotlincLibDirectory, KotlinArtifactNames.NOARG_COMPILER_PLUGIN)
val samWithReceiverCompilerPlugin = File(kotlincLibDirectory, KotlinArtifactNames.SAM_WITH_RECEIVER_COMPILER_PLUGIN)
+ val kotlinxSerializationCompilerPlugin = File(kotlincLibDirectory, KotlinArtifactNames.KOTLINX_SERIALIZATION_COMPILER_PLUGIN)
}
private object ProductionKotlinArtifacts : KotlinArtifacts(run {
diff --git a/plugins/kotlin/compiler-plugins/kotlinx-serialization/common/kotlin.compiler-plugins.kotlinx-serialization.common.iml b/plugins/kotlin/compiler-plugins/kotlinx-serialization/common/kotlin.compiler-plugins.kotlinx-serialization.common.iml
index f7f7f6da53ca..c8be6b961f90 100644
--- a/plugins/kotlin/compiler-plugins/kotlinx-serialization/common/kotlin.compiler-plugins.kotlinx-serialization.common.iml
+++ b/plugins/kotlin/compiler-plugins/kotlinx-serialization/common/kotlin.compiler-plugins.kotlinx-serialization.common.iml
@@ -15,5 +15,6 @@
+
\ No newline at end of file
diff --git a/plugins/kotlin/compiler-plugins/kotlinx-serialization/common/src/org/jetbrains/kotlin/idea/compilerPlugin/kotlinxSerialization/KotlinSerializationImportHandler.kt b/plugins/kotlin/compiler-plugins/kotlinx-serialization/common/src/org/jetbrains/kotlin/idea/compilerPlugin/kotlinxSerialization/KotlinSerializationImportHandler.kt
index 397a0821a65c..dd3d26f0341a 100644
--- a/plugins/kotlin/compiler-plugins/kotlinx-serialization/common/src/org/jetbrains/kotlin/idea/compilerPlugin/kotlinxSerialization/KotlinSerializationImportHandler.kt
+++ b/plugins/kotlin/compiler-plugins/kotlinx-serialization/common/src/org/jetbrains/kotlin/idea/compilerPlugin/kotlinxSerialization/KotlinSerializationImportHandler.kt
@@ -3,18 +3,16 @@
package org.jetbrains.kotlin.idea.compilerPlugin.kotlinxSerialization
import org.jetbrains.kotlin.cli.common.arguments.CommonCompilerArguments
+import org.jetbrains.kotlin.idea.artifacts.KotlinArtifactNames
+import org.jetbrains.kotlin.idea.artifacts.KotlinArtifacts
import org.jetbrains.kotlin.idea.facet.KotlinFacet
-import org.jetbrains.kotlin.utils.PathUtil
import java.io.File
object KotlinSerializationImportHandler {
- private const val pluginJpsJarName = "kotlinx-serialization-compiler-plugin.jar"
-
- val PLUGIN_JPS_JAR: String
- get() = File(PathUtil.kotlinPathsForIdeaPlugin.libPath, pluginJpsJarName).absolutePath
+ val PLUGIN_JPS_JAR: String by lazy { KotlinArtifacts.instance.kotlinxSerializationCompilerPlugin.absolutePath }
fun isPluginJarPath(path: String): Boolean {
- return path.endsWith(pluginJpsJarName)
+ return path.endsWith(KotlinArtifactNames.KOTLINX_SERIALIZATION_COMPILER_PLUGIN)
}
fun modifyCompilerArguments(facet: KotlinFacet, buildSystemPluginJar: String) {
diff --git a/plugins/kotlin/idea/tests/testData/gradle/kotlinSerializationPluginImportingTest/kotlinSerializationPluginClasspath/build.gradle.kts b/plugins/kotlin/idea/tests/testData/gradle/kotlinSerializationPluginImportingTest/kotlinSerializationPluginClasspath/build.gradle.kts
new file mode 100644
index 000000000000..3d57ba4591b9
--- /dev/null
+++ b/plugins/kotlin/idea/tests/testData/gradle/kotlinSerializationPluginImportingTest/kotlinSerializationPluginClasspath/build.gradle.kts
@@ -0,0 +1,12 @@
+plugins {
+ kotlin("jvm") version "{{kotlin_plugin_version}}"
+ kotlin("plugin.serialization") version "{{kotlin_plugin_version}}"
+}
+
+repositories {
+ { { kts_kotlin_plugin_repositories } }
+}
+
+dependencies {
+ implementation("org.jetbrains.kotlinx:kotlinx-serialization-json:1.3.1")
+}
\ No newline at end of file
diff --git a/plugins/kotlin/idea/tests/testData/gradle/kotlinSerializationPluginImportingTest/kotlinSerializationPluginClasspath/settings.gradle.kts b/plugins/kotlin/idea/tests/testData/gradle/kotlinSerializationPluginImportingTest/kotlinSerializationPluginClasspath/settings.gradle.kts
new file mode 100644
index 000000000000..93484c47dd57
--- /dev/null
+++ b/plugins/kotlin/idea/tests/testData/gradle/kotlinSerializationPluginImportingTest/kotlinSerializationPluginClasspath/settings.gradle.kts
@@ -0,0 +1,5 @@
+pluginManagement {
+ repositories {
+ { { kts_kotlin_plugin_repositories } }
+ }
+}
\ No newline at end of file