I noticed some strange behaviour on my local Windows 10 machine, which I don't reproduce in Github Actions (neither ubuntu, nor windows, nor macos runners).
When I try to upgrade the Kotlin gradle plugins to 1.5.30, I get the following error on every Gradle run no matter the task executed (./gradlew clean
, ./gradlew build
, even gradle wrapper
) - so it's probably a configuration phase issue:
An exception occurred applying plugin request [id: 'org.jetbrains.kotlin.multiplatform']
> Failed to apply plugin 'org.jetbrains.kotlin.multiplatform'.
> org.jetbrains.kotlin.konan.target.HostManager
This is a hint at the actual stacktrace (more complete stack in the expand at the bottom):
Caused by: java.lang.ClassNotFoundException: org.jetbrains.kotlin.konan.target.HostManager
at com.louiscad.complete_kotlin.internal.HostPlatform$Companion$platformName$2.invoke(HostPlatform.kt:20)
Here is a build scan for more details: https://scans.gradle.com/s/z3ry63v3gtq4u
If I comment out the complete-kotlin plugin in settings.gradle.kts
, the error is gone. This is extremely consistent behaviour, I just never managed to make Kotlin 1.5.30 and Complete Kotlin plugin work at the same time locally.
I am using:
- Gradle 7.2
- JDK 15.0.1 (Oracle Corporation 15.0.1+9-18)
- Windows 10 10.0 Amd64
- IDEA Kotlin plugin 212-1.5.30-release-409-IJ4638.7 (although it shouldn't matter since I reproduce in command line)
- My project only uses
ios()
among the native targets (but also uses JVM and JS - browser and node)
On the CI, it does seem to work fine though, which makes me think it's either some misconfiguration on my machine, or architecture/platform specific issue that happens on Windows desktop, but not on Windows server. I could also reproduce with a basic multiplatform project generated by IDEA, to which I simply added jvm()
and ios()
targets, and the complete kotlin plugin.
Any idea how I could investigate this further?
Actual stacktrace (but trimmed) with `--stacktrace`
org.gradle.api.plugins.InvalidPluginException: An exception occurred applying plugin request [id: 'org.jetbrains.kotlin.multiplatform']
at org.gradle.plugin.use.internal.DefaultPluginRequestApplicator.exceptionOccurred(DefaultPluginRequestApplicator.java:207)
at org.gradle.plugin.use.internal.DefaultPluginRequestApplicator.applyPlugin(DefaultPluginRequestApplicator.java:189)
at org.gradle.plugin.use.internal.DefaultPluginRequestApplicator.lambda$applyPlugins$1(DefaultPluginRequestApplicator.java:127)
at org.gradle.plugin.use.internal.DefaultPluginRequestApplicator.applyPlugins(DefaultPluginRequestApplicator.java:127)
at org.gradle.plugin.use.internal.DefaultPluginRequestApplicator.applyPlugins(DefaultPluginRequestApplicator.java:123)
at org.gradle.kotlin.dsl.provider.PluginRequestsHandler.handle(PluginRequestsHandler.kt:48)
at org.gradle.kotlin.dsl.provider.StandardKotlinScriptEvaluator$InterpreterHost.applyPluginsTo(KotlinScriptEvaluator.kt:193)
at org.gradle.kotlin.dsl.execution.Interpreter$ProgramHost.applyPluginsTo(Interpreter.kt:394)
at Program.execute(Unknown Source)
....(I cut a bunch of gradle internals here)
Caused by: org.gradle.api.internal.plugins.PluginApplicationException: Failed to apply plugin 'org.jetbrains.kotlin.multiplatform'.
at org.gradle.api.internal.plugins.DefaultPluginManager.doApply(DefaultPluginManager.java:173)
at org.gradle.api.internal.plugins.DefaultPluginManager.apply(DefaultPluginManager.java:137)
at org.gradle.plugin.use.internal.DefaultPluginRequestApplicator.lambda$applyPlugins$0(DefaultPluginRequestApplicator.java:129)
at org.gradle.plugin.use.internal.DefaultPluginRequestApplicator.applyPlugin(DefaultPluginRequestApplicator.java:185)
... 156 more (cut by IDEA)
Caused by: org.gradle.internal.operations.BuildOperationInvocationException: org.jetbrains.kotlin.konan.target.HostManager
at org.gradle.internal.operations.DefaultBuildOperationRunner.throwAsBuildOperationInvocationException(DefaultBuildOperationRunner.java:188)
at org.gradle.internal.operations.DefaultBuildOperationRunner.access$100(DefaultBuildOperationRunner.java:24)
at org.gradle.internal.operations.DefaultBuildOperationRunner$3.execute(DefaultBuildOperationRunner.java:84)
at org.gradle.internal.operations.DefaultBuildOperationRunner$3.execute(DefaultBuildOperationRunner.java:68)
... (cut by me)
Caused by: java.lang.ClassNotFoundException: org.jetbrains.kotlin.konan.target.HostManager
at com.louiscad.complete_kotlin.internal.HostPlatform$Companion$platformName$2.invoke(HostPlatform.kt:20)
at com.louiscad.complete_kotlin.internal.HostPlatform$Companion$platformName$2.invoke(HostPlatform.kt:18)
at kotlin.SynchronizedLazyImpl.getValue(LazyJVM.kt:74)
at com.louiscad.complete_kotlin.internal.HostPlatform$Companion.getPlatformName(HostPlatform.kt)
at com.louiscad.complete_kotlin.internal.KotlinNativeCompilerInfo.<init>(KotlinNativeCompilerInfo.kt:21)
at com.louiscad.complete_kotlin.internal.KotlinNativeCompilerDirs.<init>(KotlinNativeCompilerDirs.kt:10)
at com.louiscad.complete_kotlin.internal.TargetsHandlerKt.completePlatformKlibsIfNeeded(TargetsHandler.kt:26)
at com.louiscad.complete_kotlin.CompleteKotlinPlugin$setup$1$1$1.execute(CompleteKotlinPlugin.kt:48)
at com.louiscad.complete_kotlin.CompleteKotlinPlugin$setup$1$1$1.execute(CompleteKotlinPlugin.kt:16)
at org.gradle.configuration.internal.DefaultUserCodeApplicationContext$CurrentApplication$1.execute(DefaultUserCodeApplicationContext.java:123)
at org.gradle.api.internal.DefaultCollectionCallbackActionDecorator$BuildOperationEmittingAction$1.run(DefaultCollectionCallbackActionDecorator.java:110)
... (cut by me)