I've tried upgrading my Kotlin Multiplatform proje...
# eap
c
I've tried upgrading my Kotlin Multiplatform project to use Kotlin 2.1.0-Beta2, but when I try to build it I get the following failure (full stacktrace in thread):
Copy code
Execution failed for task ':common:compileKotlinJvm'.
> 'void org.jetbrains.kotlin.cli.common.arguments.CommonToolArguments.setExtraWarnings(boolean)'
...
Caused by: java.lang.NoSuchMethodError: 'void org.jetbrains.kotlin.cli.common.arguments.CommonToolArguments.setExtraWarnings(boolean)'
My
libs.versions.toml
contains the following (along with a host of other versions/libraries/plugins):
Copy code
libs.versions.toml
[versions]
kotlin = "2.1.0-Beta2"
[plugins]
kotlin-jvm = { id = "org.jetbrains.kotlin.jvm", version.ref = "kotlin" }
Any ideas what I might have got wrong, or is more information required on my gradle build config? (in which case I probably need to try and make a simpler test case to try and reproduce the problem)
1
youtrack 1
Stacktrace:
Copy code
Execution failed for task ':common:compileKotlinJvm'.
> 'void org.jetbrains.kotlin.cli.common.arguments.CommonToolArguments.setExtraWarnings(boolean)'

* Try:
> Run with --info or --debug option to get more log output.
> Get more help at <https://help.gradle.org>.

* Exception is:
org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':common:compileKotlinJvm'.
	at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.lambda$executeIfValid$1(ExecuteActionsTaskExecuter.java:130)
	at org.gradle.internal.Try$Failure.ifSuccessfulOrElse(Try.java:293)
	at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeIfValid(ExecuteActionsTaskExecuter.java:128)
	at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:116)
	at org.gradle.api.internal.tasks.execution.FinalizePropertiesTaskExecuter.execute(FinalizePropertiesTaskExecuter.java:46)
	at org.gradle.api.internal.tasks.execution.ResolveTaskExecutionModeExecuter.execute(ResolveTaskExecutionModeExecuter.java:51)
	at org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:57)
	at org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:74)
	at org.gradle.api.internal.tasks.execution.CatchExceptionTaskExecuter.execute(CatchExceptionTaskExecuter.java:36)
	at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.executeTask(EventFiringTaskExecuter.java:77)
	at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.call(EventFiringTaskExecuter.java:55)
	at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.call(EventFiringTaskExecuter.java:52)
	at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:209)
	at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:204)
	at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:66)
	at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:59)
	at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:166)
	at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:59)
	at org.gradle.internal.operations.DefaultBuildOperationRunner.call(DefaultBuildOperationRunner.java:53)
	at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter.execute(EventFiringTaskExecuter.java:52)
	at org.gradle.execution.plan.LocalTaskNodeExecutor.execute(LocalTaskNodeExecutor.java:42)
	at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$InvokeNodeExecutorsAction.execute(DefaultTaskExecutionGraph.java:331)
	at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$InvokeNodeExecutorsAction.execute(DefaultTaskExecutionGraph.java:318)
	at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$BuildOperationAwareExecutionAction.lambda$execute$0(DefaultTaskExecutionGraph.java:314)
	at org.gradle.internal.operations.CurrentBuildOperationRef.with(CurrentBuildOperationRef.java:85)
	at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$BuildOperationAwareExecutionAction.execute(DefaultTaskExecutionGraph.java:314)
	at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$BuildOperationAwareExecutionAction.execute(DefaultTaskExecutionGraph.java:303)
	at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.execute(DefaultPlanExecutor.java:459)
	at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.run(DefaultPlanExecutor.java:376)
	at org.gradle.execution.plan.DefaultPlanExecutor.process(DefaultPlanExecutor.java:111)
	at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph.executeWithServices(DefaultTaskExecutionGraph.java:138)
	at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph.execute(DefaultTaskExecutionGraph.java:123)
	at org.gradle.execution.SelectedTaskExecutionAction.execute(SelectedTaskExecutionAction.java:35)
	at org.gradle.execution.DryRunBuildExecutionAction.execute(DryRunBuildExecutionAction.java:51)
	at org.gradle.execution.BuildOperationFiringBuildWorkerExecutor$ExecuteTasks.call(BuildOperationFiringBuildWorkerExecutor.java:54)
	at org.gradle.execution.BuildOperationFiringBuildWorkerExecutor$ExecuteTasks.call(BuildOperationFiringBuildWorkerExecutor.java:43)
	at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:209)
	at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:204)
	at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:66)
	at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:59)
	at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:166)
	at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:59)
	at org.gradle.internal.operations.DefaultBuildOperationRunner.call(DefaultBuildOperationRunner.java:53)
	at org.gradle.execution.BuildOperationFiringBuildWorkerExecutor.execute(BuildOperationFiringBuildWorkerExecutor.java:40)
	at org.gradle.internal.build.DefaultBuildLifecycleController.lambda$executeTasks$10(DefaultBuildLifecycleController.java:313)
	at org.gradle.internal.model.StateTransitionController.doTransition(StateTransitionController.java:266)
	at org.gradle.internal.model.StateTransitionController.lambda$tryTransition$8(StateTransitionController.java:177)
	at org.gradle.internal.work.DefaultSynchronizer.withLock(DefaultSynchronizer.java:46)
	at org.gradle.internal.model.StateTransitionController.tryTransition(StateTransitionController.java:177)
	at org.gradle.internal.build.DefaultBuildLifecycleController.executeTasks(DefaultBuildLifecycleController.java:304)
	at org.gradle.internal.build.DefaultBuildWorkGraphController$DefaultBuildWorkGraph.runWork(DefaultBuildWorkGraphController.java:220)
	at org.gradle.internal.work.DefaultWorkerLeaseService.withLocks(DefaultWorkerLeaseService.java:263)
	at org.gradle.internal.work.DefaultWorkerLeaseService.runAsWorkerThread(DefaultWorkerLeaseService.java:127)
	at org.gradle.composite.internal.DefaultBuildController.doRun(DefaultBuildController.java:181)
	at org.gradle.composite.internal.DefaultBuildController.access$000(DefaultBuildController.java:50)
	at org.gradle.composite.internal.DefaultBuildController$BuildOpRunnable.lambda$run$0(DefaultBuildController.java:198)
	at org.gradle.internal.operations.CurrentBuildOperationRef.with(CurrentBuildOperationRef.java:85)
	at org.gradle.composite.internal.DefaultBuildController$BuildOpRunnable.run(DefaultBuildController.java:198)
	at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:64)
	at org.gradle.internal.concurrent.AbstractManagedExecutor$1.run(AbstractManagedExecutor.java:48)
Caused by: java.lang.NoSuchMethodError: 'void org.jetbrains.kotlin.cli.common.arguments.CommonToolArguments.setExtraWarnings(boolean)'
	at org.jetbrains.kotlin.gradle.dsl.KotlinCommonCompilerToolOptionsHelper.fillCompilerArguments$kotlin_gradle_plugin_common(KotlinCommonCompilerToolOptionsHelper.kt:15)
	at org.jetbrains.kotlin.gradle.dsl.KotlinCommonCompilerOptionsHelper.fillCompilerArguments$kotlin_gradle_plugin_common(KotlinCommonCompilerOptionsHelper.kt:14)
	at org.jetbrains.kotlin.gradle.dsl.KotlinJvmCompilerOptionsHelper.fillCompilerArguments$kotlin_gradle_plugin_common(KotlinJvmCompilerOptionsHelper.kt:14)
	at org.jetbrains.kotlin.gradle.tasks.KotlinCompile$createCompilerArguments$1$1.invoke(KotlinCompile.kt:239)
	at org.jetbrains.kotlin.gradle.tasks.KotlinCompile$createCompilerArguments$1$1.invoke(KotlinCompile.kt:220)
	at org.jetbrains.kotlin.gradle.plugin.CreateCompilerArgumentsContextImpl$ContributeCompilerArgumentsContextImpl.primitive(KotlinCompilerArgumentsProducer.kt:130)
	at org.jetbrains.kotlin.gradle.tasks.KotlinCompile$createCompilerArguments$1.invoke(KotlinCompile.kt:220)
	at org.jetbrains.kotlin.gradle.tasks.KotlinCompile$createCompilerArguments$1.invoke(KotlinCompile.kt:219)
	at org.jetbrains.kotlin.gradle.plugin.CreateCompilerArgumentsContextImpl.create(KotlinCompilerArgumentsProducer.kt:77)
	at org.jetbrains.kotlin.gradle.tasks.KotlinCompile.createCompilerArguments(KotlinCompile.kt:526)
	at org.jetbrains.kotlin.gradle.tasks.KotlinCompile.createCompilerArguments(KotlinCompile.kt:55)
	at org.jetbrains.kotlin.gradle.plugin.KotlinCompilerArgumentsProducer$DefaultImpls.createCompilerArguments$default(KotlinCompilerArgumentsProducer.kt:54)
	at org.jetbrains.kotlin.gradle.tasks.AbstractKotlinCompile.executeImpl(AbstractKotlinCompile.kt:305)
	at org.jetbrains.kotlin.gradle.tasks.AbstractKotlinCompile.execute(AbstractKotlinCompile.kt:259)
	at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
	at org.gradle.internal.reflect.JavaMethod.invoke(JavaMethod.java:125)
	at org.gradle.api.internal.project.taskfactory.IncrementalTaskAction.doExecute(IncrementalTaskAction.java:45)
... (much more truncated)
a
cc @tapchicoma Can you please take a look? 53346cc9
t
@Chris Miller Could you share a build scan with error?
j
t
@jw in your case
buildSrc
has a dependency (build scan) on
kotlin-gradle-plugin-api:2.0.21
while
:
project has a dependency on
kotlin-gradle-plugin
2.1.0-Beta2
. If I specify properly KGP version - then I see this regression with KSP which should be fixed in RC
JiC: Kotlin 2.1.0 has added a new compiler option -
extraWarnings
j
Nice. Thanks! That's what I figured was happening in my comment, but I'm not at a computer yet to check.
c
Ah thanks - chances are my problem is similar! I'll check when I get a chance in the next day or so and report back
👍 1
t
also this Kotlin pre-release version contains a fix for KSP
c
Here's my scan, not obvious to me what's wrong though: https://scans.gradle.com/s/twhjiptr4ykoy I realise
2.1.0-RC-228
was mentioned for a different error but I tried it anyway, it still fails the same way: https://scans.gradle.com/s/jzzbyk7jcs2qq
t
hmm, I don't see anything suspicious in the build scan though I also don't see build dependencies for
:common
project 🤨 If you could share you project - I could take a look what could go wrong
c
OK I've made my (very WiP!) repo public:
git clone -b 2.1.0-Beta2 <https://github.com/chrismiller/PhotoGallery.git>
For what it's worth, the reason I've been trying to use 2.1.0 is because of this issue I'm hitting, and just wanted to see if 2.1.0 solves it.
👀 1
t
the problem is in the https://github.com/jeremymailen/kotlinter-gradle plugin. If you comment it in the root
build.gradle.kts
- build error is gone. Though not sure why it is causing such error 👀
c
Oh nice, thank you! Out of interest how did you find that?
t
commented all plugins in root
build.gradle.kts
except KMP and JVM and then started to enable them one-by-one while running
gradlew :common:compileKotlinJvm
task
thank you color 1
c
Ah ok fair enough, thanks 😄 It didn't occur to me it might be a plugin, I guess an obvious thing to consider in hindsight
I'll file an issue for it tonight/tomorrow. Thanks for the help!
t
JiC: KGP in previous releases directly depended on
kotlin-compiler-embeddable
but starting this release we are trying to reduce this by depending only on required parts of the compiler and eventually remove such dependency. As
kotlinter
via KtLint brings
kotlin-compiler-embeddable:1.9.24
into the build classpath - this caused this problem. We are checking if we could mitigate it on our side or, at least, add some diagnostic message.
gratitude thank you 2
JiC: we've added a diagnostic for this case in 2.1.0-RC
j
FYI: I faced the same issue. The default error message doesn't help to realize which 3rd party did this. Thanks to this thread I realized it is (in my case) ktlint/kotlinter.
t
Now link from the message leads to https://kotlinlang.org/docs/whatsnew21.html#compiler-symbols-hidden-from-the-kotlin-gradle-plugin-api but soon we will add a dedicated page in our documentation for this problem
gratitude thank you 4
c
We had the same problem but it started out with an XcodeVersion error when syncing in Android Studio. @Chris Miller’s error didn't show until I built built one of our Android Apps directly. That finally allowed me to find this thread. Posting this XcodeVersion error to help others find this thread.
Copy code
Unable to find method ''org.jetbrains.kotlin.konan.target.XcodeVersion org.jetbrains.kotlin.konan.target.XcodeVersion$Companion.getMaxTested()''
'org.jetbrains.kotlin.konan.target.XcodeVersion org.jetbrains.kotlin.konan.target.XcodeVersion$Companion.getMaxTested()'
304 Views