Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Kotlin compiler plugin version missmatch error #506

Closed
AlexBurdu opened this issue Mar 18, 2021 · 1 comment
Closed

Kotlin compiler plugin version missmatch error #506

AlexBurdu opened this issue Mar 18, 2021 · 1 comment

Comments

@AlexBurdu
Copy link
Contributor

AlexBurdu commented Mar 18, 2021

I'm trying to configure kotlin parcelizable compiler plugin using kt_compiler_plugin build rule, but I'm hitting an error I can't seem to figure out what it's caused by.

exception: java.lang.IllegalStateException: The provided plugin org.jetbrains.kotlin.parcelize.ParcelizeComponentRegistrar is not compatible with this version of compiler

In the workspace I'm adding maven artifacts for the compiler plugin and parcelizable runtime v 1.4.31, same as the one I'm setting for kotlin.

Here's a repository with a simple reproducible example: https://github.com/AlexBurdu/kotlin_compiler_plugin_test

I also included gradle with the same kotlin version to verify that the code compiles, and the error does not reproduce in it. I'm trying to understand if the error comes from the build rules or what might be the cause.

 bazel-out/host/bin/external/io_bazel_rules_kotlin/src/main/kotlin/builder '--flagfile=bazel-out/darwin-fastbuild/bin/library/src/main/java/com/example/parcelable/parcelable_kt-kt-java.jar-0.params'
exception: java.lang.IllegalStateException: The provided plugin org.jetbrains.kotlin.parcelize.ParcelizeComponentRegistrar is not compatible with this version of compiler
        at org.jetbrains.kotlin.cli.jvm.compiler.KotlinCoreEnvironment$Companion.registerExtensionsFromPlugins$cli(KotlinCoreEnvironment.kt:592)
        at org.jetbrains.kotlin.cli.jvm.compiler.KotlinCoreEnvironment$ProjectEnvironment.registerExtensionsFromPlugins(KotlinCoreEnvironment.kt:132)
        at org.jetbrains.kotlin.cli.jvm.compiler.KotlinCoreEnvironment.<init>(KotlinCoreEnvironment.kt:172)
        at org.jetbrains.kotlin.cli.jvm.compiler.KotlinCoreEnvironment.<init>(KotlinCoreEnvironment.kt)
        at org.jetbrains.kotlin.cli.jvm.compiler.KotlinCoreEnvironment$Companion.createForProduction(KotlinCoreEnvironment.kt:426)
        at org.jetbrains.kotlin.cli.jvm.K2JVMCompiler.createCoreEnvironment(K2JVMCompiler.kt:226)
        at org.jetbrains.kotlin.cli.jvm.K2JVMCompiler.doExecute(K2JVMCompiler.kt:152)
        at org.jetbrains.kotlin.cli.jvm.K2JVMCompiler.doExecute(K2JVMCompiler.kt:52)
        at org.jetbrains.kotlin.cli.common.CLICompiler.execImpl(CLICompiler.kt:88)
        at org.jetbrains.kotlin.cli.common.CLICompiler.execImpl(CLICompiler.kt:44)
        at org.jetbrains.kotlin.cli.common.CLITool.exec(CLITool.kt:98)
        at io.bazel.kotlin.compiler.BazelK2JVMCompiler.exec(BazelK2JVMCompiler.kt:30)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.base/java.lang.reflect.Method.invoke(Method.java:566)
        at io.bazel.kotlin.builder.toolchain.KotlinToolchain$KotlinCliToolInvoker.compile(KotlinToolchain.kt:186)
        at io.bazel.kotlin.builder.tasks.jvm.Compilation_taskKt$runPlugins$1$1$1.invoke(compilation_task.kt:160)
        at io.bazel.kotlin.builder.tasks.jvm.Compilation_taskKt$runPlugins$1$1$1.invoke(compilation_task.kt)
        at io.bazel.kotlin.builder.toolchain.CompilationTaskContext.executeCompilerTask(CompilationTaskContext.kt:122)
        at io.bazel.kotlin.builder.toolchain.CompilationTaskContext.executeCompilerTask$default(CompilationTaskContext.kt:118)
        at io.bazel.kotlin.builder.tasks.jvm.Compilation_taskKt$runPlugins$1.invoke(compilation_task.kt:158)
        at io.bazel.kotlin.builder.tasks.jvm.Compilation_taskKt$runPlugins$1.invoke(compilation_task.kt)
        at io.bazel.kotlin.builder.toolchain.CompilationTaskContext.execute(CompilationTaskContext.kt:148)
        at io.bazel.kotlin.builder.toolchain.CompilationTaskContext.execute(CompilationTaskContext.kt:140)
        at io.bazel.kotlin.builder.tasks.jvm.Compilation_taskKt.runPlugins(compilation_task.kt:142)
        at io.bazel.kotlin.builder.tasks.jvm.KotlinJvmTaskExecutor.execute(KotlinJvmTaskExecutor.kt:54)
        at io.bazel.kotlin.builder.tasks.KotlinBuilder.executeJvmTask(KotlinBuilder.kt:226)
        at io.bazel.kotlin.builder.tasks.KotlinBuilder.apply(KotlinBuilder.kt:129)
        at io.bazel.kotlin.builder.tasks.PersistentWorker.run(BazelWorker.kt:168)
        at io.bazel.kotlin.builder.tasks.BazelWorker.apply(BazelWorker.kt:74)
        at io.bazel.kotlin.builder.KotlinBuilderMain.main(KotlinBuilderMain.java:28)
Caused by: java.lang.AbstractMethodError: Receiver class org.jetbrains.kotlin.parcelize.ParcelizeComponentRegistrar does not define or inherit an implementation of the resolved method 'abstract void registerProjectComponents(com.intellij.mock.MockProject, org.jetbrains.kotlin.config.CompilerConfiguration)' of interface org.jetbrains.kotlin.compiler.plugin.ComponentRegistrar.
        at org.jetbrains.kotlin.cli.jvm.compiler.KotlinCoreEnvironment$Companion.registerExtensionsFromPlugins$cli(KotlinCoreEnvironment.kt:584)
        ... 31 more

Compilation failure: compile phase failed:
exception: java.lang.IllegalStateException: The provided plugin org.jetbrains.kotlin.parcelize.ParcelizeComponentRegistrar is not compatible with this version of compiler
        at org.jetbrains.kotlin.cli.jvm.compiler.KotlinCoreEnvironment$Companion.registerExtensionsFromPlugins$cli(KotlinCoreEnvironment.kt:592)
        at org.jetbrains.kotlin.cli.jvm.compiler.KotlinCoreEnvironment$ProjectEnvironment.registerExtensionsFromPlugins(KotlinCoreEnvironment.kt:132)
        at org.jetbrains.kotlin.cli.jvm.compiler.KotlinCoreEnvironment.<init>(KotlinCoreEnvironment.kt:172)
        at org.jetbrains.kotlin.cli.jvm.compiler.KotlinCoreEnvironment.<init>(KotlinCoreEnvironment.kt)
        at org.jetbrains.kotlin.cli.jvm.compiler.KotlinCoreEnvironment$Companion.createForProduction(KotlinCoreEnvironment.kt:426)
        at org.jetbrains.kotlin.cli.jvm.K2JVMCompiler.createCoreEnvironment(K2JVMCompiler.kt:226)
        at org.jetbrains.kotlin.cli.jvm.K2JVMCompiler.doExecute(K2JVMCompiler.kt:152)
        at org.jetbrains.kotlin.cli.jvm.K2JVMCompiler.doExecute(K2JVMCompiler.kt:52)
        at org.jetbrains.kotlin.cli.common.CLICompiler.execImpl(CLICompiler.kt:88)
        at org.jetbrains.kotlin.cli.common.CLICompiler.execImpl(CLICompiler.kt:44)
        at org.jetbrains.kotlin.cli.common.CLITool.exec(CLITool.kt:98)
        at io.bazel.kotlin.compiler.BazelK2JVMCompiler.exec(BazelK2JVMCompiler.kt:30)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.base/java.lang.reflect.Method.invoke(Method.java:566)
        at io.bazel.kotlin.builder.toolchain.KotlinToolchain$KotlinCliToolInvoker.compile(KotlinToolchain.kt:186)
        at io.bazel.kotlin.builder.tasks.jvm.Compilation_taskKt$runPlugins$1$1$1.invoke(compilation_task.kt:160)
        at io.bazel.kotlin.builder.tasks.jvm.Compilation_taskKt$runPlugins$1$1$1.invoke(compilation_task.kt)
        at io.bazel.kotlin.builder.toolchain.CompilationTaskContext.executeCompilerTask(CompilationTaskContext.kt:122)
        at io.bazel.kotlin.builder.toolchain.CompilationTaskContext.executeCompilerTask$default(CompilationTaskContext.kt:118)
        at io.bazel.kotlin.builder.tasks.jvm.Compilation_taskKt$runPlugins$1.invoke(compilation_task.kt:158)
        at io.bazel.kotlin.builder.tasks.jvm.Compilation_taskKt$runPlugins$1.invoke(compilation_task.kt)
        at io.bazel.kotlin.builder.toolchain.CompilationTaskContext.execute(CompilationTaskContext.kt:148)
        at io.bazel.kotlin.builder.toolchain.CompilationTaskContext.execute(CompilationTaskContext.kt:140)
        at io.bazel.kotlin.builder.tasks.jvm.Compilation_taskKt.runPlugins(compilation_task.kt:142)
        at io.bazel.kotlin.builder.tasks.jvm.KotlinJvmTaskExecutor.execute(KotlinJvmTaskExecutor.kt:54)
        at io.bazel.kotlin.builder.tasks.KotlinBuilder.executeJvmTask(KotlinBuilder.kt:226)
        at io.bazel.kotlin.builder.tasks.KotlinBuilder.apply(KotlinBuilder.kt:129)
        at io.bazel.kotlin.builder.tasks.PersistentWorker.run(BazelWorker.kt:168)
        at io.bazel.kotlin.builder.tasks.BazelWorker.apply(BazelWorker.kt:74)
        at io.bazel.kotlin.builder.KotlinBuilderMain.main(KotlinBuilderMain.java:28)
Caused by: java.lang.AbstractMethodError: Receiver class org.jetbrains.kotlin.parcelize.ParcelizeComponentRegistrar does not define or inherit an implementation of the resolved method 'abstract void registerProjectComponents(com.intellij.mock.MockProject, org.jetbrains.kotlin.config.CompilerConfiguration)' of interface org.jetbrains.kotlin.compiler.plugin.ComponentRegistrar.
        at org.jetbrains.kotlin.cli.jvm.compiler.KotlinCoreEnvironment$Companion.registerExtensionsFromPlugins$cli(KotlinCoreEnvironment.kt:584)
        ... 31 more

Target //library/src/main/java/com/example/parcelable:parcelable_kt failed to build
@cgruber
Copy link
Collaborator

cgruber commented Aug 6, 2021

Fixed in #522

@cgruber cgruber closed this as completed Aug 6, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants