diff --git a/libraries/tools/kotlin-maven-serialization/pom.xml b/libraries/tools/kotlin-maven-serialization/pom.xml
index 67c00b1be8c..8eac4f66797 100755
--- a/libraries/tools/kotlin-maven-serialization/pom.xml
+++ b/libraries/tools/kotlin-maven-serialization/pom.xml
@@ -18,7 +18,7 @@
../../pom.xml
- kotlinx-maven-serialization-plugin
+ kotlin-maven-serialization
jar
Serialization plugin for Maven
diff --git a/plugins/kotlin-serialization/kotlin-serialization-ide/build.gradle.kts b/plugins/kotlin-serialization/kotlin-serialization-ide/build.gradle.kts
index 19fbd07aac6..af7142a3fcb 100644
--- a/plugins/kotlin-serialization/kotlin-serialization-ide/build.gradle.kts
+++ b/plugins/kotlin-serialization/kotlin-serialization-ide/build.gradle.kts
@@ -13,6 +13,7 @@ dependencies {
compile(project(":idea"))
compile(project(":idea:idea-gradle"))
compile(project(":idea:idea-maven"))
+ compile(project(":plugins:annotation-based-compiler-plugins-ide-support"))
compileOnly(intellijDep())
excludeInAndroidStudio(rootProject) { compileOnly(intellijPluginDep("maven")) }
compileOnly(intellijPluginDep("gradle"))
diff --git a/plugins/kotlin-serialization/kotlin-serialization-ide/src/org/jetbrains/kotlinx/serialization/idea/KotlinSerializationMavenImportHandler.kt b/plugins/kotlin-serialization/kotlin-serialization-ide/src/org/jetbrains/kotlinx/serialization/idea/KotlinSerializationMavenImportHandler.kt
index 00e2183abe1..22397229b1e 100644
--- a/plugins/kotlin-serialization/kotlin-serialization-ide/src/org/jetbrains/kotlinx/serialization/idea/KotlinSerializationMavenImportHandler.kt
+++ b/plugins/kotlin-serialization/kotlin-serialization-ide/src/org/jetbrains/kotlinx/serialization/idea/KotlinSerializationMavenImportHandler.kt
@@ -5,14 +5,20 @@
package org.jetbrains.kotlinx.serialization.idea
-import org.jetbrains.idea.maven.project.MavenProject
-import org.jetbrains.kotlin.idea.facet.KotlinFacet
-import org.jetbrains.kotlin.idea.maven.MavenProjectImportHandler
+import org.jetbrains.kotlin.annotation.plugin.ide.AbstractMavenImportHandler
+import org.jetbrains.kotlin.annotation.plugin.ide.AnnotationBasedCompilerPluginSetup
+import java.io.File
-class KotlinSerializationMavenImportHandler: MavenProjectImportHandler {
- override fun invoke(facet: KotlinFacet, mavenProject: MavenProject) {
- KotlinSerializationImportHandler.modifyCompilerArguments(facet, PLUGIN_MAVEN_JAR)
- }
+class KotlinSerializationMavenImportHandler : AbstractMavenImportHandler() {
+ override val compilerPluginId: String = "org.jetbrains.kotlinx.serialization"
+ override val pluginName: String = "serialization"
+ override val mavenPluginArtifactName: String = "kotlin-maven-serialization"
+ override val pluginJarFileFromIdea: File
+ get() = File(KotlinSerializationImportHandler.PLUGIN_JPS_JAR)
- private val PLUGIN_MAVEN_JAR = "kotlinx-maven-serialization-plugin"
+ override fun getOptions(
+ enabledCompilerPlugins: List,
+ compilerPluginOptions: List
+ ): List? =
+ if ("kotlinx-serialization" in enabledCompilerPlugins) emptyList() else null
}
\ No newline at end of file