Make serialization plugin for Maven consistent with all other plugins:
Use correct import handler because old one was not working in IDE Change maven artifact id to match pattern from other plugins
This commit is contained in:
@@ -18,7 +18,7 @@
|
|||||||
<relativePath>../../pom.xml</relativePath>
|
<relativePath>../../pom.xml</relativePath>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
<artifactId>kotlinx-maven-serialization-plugin</artifactId>
|
<artifactId>kotlin-maven-serialization</artifactId>
|
||||||
<packaging>jar</packaging>
|
<packaging>jar</packaging>
|
||||||
|
|
||||||
<description>Serialization plugin for Maven</description>
|
<description>Serialization plugin for Maven</description>
|
||||||
|
|||||||
@@ -13,6 +13,7 @@ dependencies {
|
|||||||
compile(project(":idea"))
|
compile(project(":idea"))
|
||||||
compile(project(":idea:idea-gradle"))
|
compile(project(":idea:idea-gradle"))
|
||||||
compile(project(":idea:idea-maven"))
|
compile(project(":idea:idea-maven"))
|
||||||
|
compile(project(":plugins:annotation-based-compiler-plugins-ide-support"))
|
||||||
compileOnly(intellijDep())
|
compileOnly(intellijDep())
|
||||||
excludeInAndroidStudio(rootProject) { compileOnly(intellijPluginDep("maven")) }
|
excludeInAndroidStudio(rootProject) { compileOnly(intellijPluginDep("maven")) }
|
||||||
compileOnly(intellijPluginDep("gradle"))
|
compileOnly(intellijPluginDep("gradle"))
|
||||||
|
|||||||
+14
-8
@@ -5,14 +5,20 @@
|
|||||||
|
|
||||||
package org.jetbrains.kotlinx.serialization.idea
|
package org.jetbrains.kotlinx.serialization.idea
|
||||||
|
|
||||||
import org.jetbrains.idea.maven.project.MavenProject
|
import org.jetbrains.kotlin.annotation.plugin.ide.AbstractMavenImportHandler
|
||||||
import org.jetbrains.kotlin.idea.facet.KotlinFacet
|
import org.jetbrains.kotlin.annotation.plugin.ide.AnnotationBasedCompilerPluginSetup
|
||||||
import org.jetbrains.kotlin.idea.maven.MavenProjectImportHandler
|
import java.io.File
|
||||||
|
|
||||||
class KotlinSerializationMavenImportHandler: MavenProjectImportHandler {
|
class KotlinSerializationMavenImportHandler : AbstractMavenImportHandler() {
|
||||||
override fun invoke(facet: KotlinFacet, mavenProject: MavenProject) {
|
override val compilerPluginId: String = "org.jetbrains.kotlinx.serialization"
|
||||||
KotlinSerializationImportHandler.modifyCompilerArguments(facet, PLUGIN_MAVEN_JAR)
|
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<String>,
|
||||||
|
compilerPluginOptions: List<String>
|
||||||
|
): List<AnnotationBasedCompilerPluginSetup.PluginOption>? =
|
||||||
|
if ("kotlinx-serialization" in enabledCompilerPlugins) emptyList() else null
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user