012ffa2993
Instead of generating these annotation classes as package-private on JVM, serialize their metadata to the .kotlin_module file, and load it when compiling dependent multiplatform modules. The problem with generating them as package-private was that kotlin-stdlib for JVM would end up declaring symbols from other platforms, which would include some annotations from package kotlin.native. But using that package is discouraged by some tools because it has a Java keyword in its name. In particular, jlink refused to work with such artifact altogether (KT-21266). #KT-38652 Fixed
kotlinx-metadata
This is the platform-agnostic part of the Kotlin Metadata library, intended to provide the possibility to read and modify metadata of Kotlin declarations in the binary (.class, .js) files emitted by the Kotlin compiler. This part of the library is currently not released on its own. Please refer to kotlinx-metadata-jvm for instructions on how to load and modify Kotlin Metadata in JVM binaries (.class and .kotlin_module files).