Files
kotlin-fork/plugins/kotlinx-serialization
Sergey.Shanshin 498c1abbc6 [KxSerialization] Fix SERIALIZER_NOT_FOUND diagnostic for enums
If enum class from dependencies is used, which was compiled by a new version of the plugin, which uses a factory and does not create a nested `$serializer` class, then an `SERIALIZER_NOT_FOUND` diagnostic error is thrown for such an enumeration.
This happens if the old serialization runtime is used for the current project - in this case, the serializer is taken from the nested class `$serializer`. Since it is missing, the diagnostics does not work correctly.
It is acceptable for enumerations to ignore this error, because we know that enumerations are always serializable.

Merge-request: KT-MR-8818
Merged-by: Sergey Shanshin <Sergey.Shanshin@jetbrains.com>
2023-02-14 22:10:30 +00:00
..

Kotlin serialization IDEA plugin

Kotlin serialization plugin consists of three parts: a compiler plugin, an IntelliJ plugin and a runtime library. This is the folder with common source for all plugins, IDEA plugin is built from here. Gradle and Maven plugins can be found in libraries folder.

Building and usage

Prerequisites:

Before all, follow the instructions from root README.md to download dependencies and build Kotlin compiler. (./gradlew dist)

Plugin works only with IntelliJIDEA 2017.2 and higher.

Make sure you have latest dev version of Kotlin plugin installed.

With gradle:

Run ./gradlew :kotlinx-serialization-compiler-plugin:dist. In IDEA, open Settings - Plugins - Install plugin from disk... and choose $kotlin_root/dist/artifacts/Serialization/lib/kotlinx-serialization-compiler-plugin.jar

From within IDE (for development):

Run ./gradlew runIde You'll get a fresh copy of IDEA with Kotlin and Kotlin-serialization plugins built from sources.

Building gradle plugin

Run ./gradlew :kotlinx-gradle-serialization-plugin:install

Building maven plugin

Make all prerequisites from libraries' README.md for Maven projects. Go to $kotlin_root/libraries/tools/kotlin-maven-serialization. Run mvn install