curioustechizen
07/29/2024, 5:55 AMcommonMain
?
I have a very basic HelloWorld and its preview in commonMain
and it fails with (full stack trace in thread)
> Task :kmm:core:presentation:kspKotlin__COMPOSE_PREVIEW__ FAILED
e: [ksp] java.util.NoSuchElementException: No TypeParameter found for index T
I'm pretty sure this is because of a misconfigured project but I cannot figure out what it is.curioustechizen
07/29/2024, 5:56 AMe: [ksp] java.util.NoSuchElementException: No TypeParameter found for index T
at com.squareup.kotlinpoet.ksp.TypeParameterResolver$Companion$EMPTY$1.get(TypeParameterResolver.kt:45)
at com.squareup.kotlinpoet.ksp.KsTypesKt.toTypeName(KsTypes.kt:71)
at com.squareup.kotlinpoet.ksp.KsTypesKt.toTypeName(KsTypes.kt:193)
at com.squareup.kotlinpoet.ksp.KsTypesKt.toTypeName(KsTypes.kt:170)
at com.squareup.kotlinpoet.ksp.KsTypesKt.toTypeName(KsTypes.kt:69)
at com.squareup.kotlinpoet.ksp.KsTypesKt.toTypeName(KsTypes.kt:193)
at com.squareup.kotlinpoet.ksp.KsTypesKt.toTypeName$default(KsTypes.kt:182)
at org.jetbrains.gradle.compose.multiplatform.preview.ksp.ActualStubProcessor.toTypeNameWithAnnotations(ActualStubProcessor.kt:199)
at org.jetbrains.gradle.compose.multiplatform.preview.ksp.ActualStubProcessor.getActualFunction(ActualStubProcessor.kt:140)
at org.jetbrains.gradle.compose.multiplatform.preview.ksp.ActualStubProcessor.access$getActualFunction(ActualStubProcessor.kt:19)
at org.jetbrains.gradle.compose.multiplatform.preview.ksp.ActualStubProcessor$process$1.visitFunctionDeclaration(ActualStubProcessor.kt:37)
at org.jetbrains.gradle.compose.multiplatform.preview.ksp.ActualStubProcessor$process$1.visitFunctionDeclaration(ActualStubProcessor.kt:31)
at com.google.devtools.ksp.symbol.impl.kotlin.KSFunctionDeclarationImpl.accept(KSFunctionDeclarationImpl.kt:118)
at org.jetbrains.gradle.compose.multiplatform.preview.ksp.ActualStubProcessor.process(ActualStubProcessor.kt:31)
at com.google.devtools.ksp.AbstractKotlinSymbolProcessingExtension$doAnalysis$8$1.invoke(KotlinSymbolProcessingExtension.kt:310)
at com.google.devtools.ksp.AbstractKotlinSymbolProcessingExtension$doAnalysis$8$1.invoke(KotlinSymbolProcessingExtension.kt:308)
at com.google.devtools.ksp.AbstractKotlinSymbolProcessingExtension.handleException(KotlinSymbolProcessingExtension.kt:414)
at com.google.devtools.ksp.AbstractKotlinSymbolProcessingExtension.doAnalysis(KotlinSymbolProcessingExtension.kt:308)
at org.jetbrains.kotlin.cli.jvm.compiler.TopDownAnalyzerFacadeForJVM.analyzeFilesWithJavaIntegration(TopDownAnalyzerFacadeForJVM.kt:112)
at org.jetbrains.kotlin.cli.jvm.compiler.TopDownAnalyzerFacadeForJVM.analyzeFilesWithJavaIntegration$default(TopDownAnalyzerFacadeForJVM.kt:75)
at org.jetbrains.kotlin.cli.jvm.compiler.KotlinToJVMBytecodeCompiler.analyze$lambda$12(KotlinToJVMBytecodeCompiler.kt:373)
at org.jetbrains.kotlin.cli.common.messages.AnalyzerWithCompilerReport.analyzeAndReport(AnalyzerWithCompilerReport.kt:115)
at org.jetbrains.kotlin.cli.jvm.compiler.KotlinToJVMBytecodeCompiler.analyze(KotlinToJVMBytecodeCompiler.kt:364)
at org.jetbrains.kotlin.cli.jvm.compiler.KotlinToJVMBytecodeCompiler.runFrontendAndGenerateIrUsingClassicFrontend(KotlinToJVMBytecodeCompiler.kt:195)
at org.jetbrains.kotlin.cli.jvm.compiler.KotlinToJVMBytecodeCompiler.compileModules$cli(KotlinToJVMBytecodeCompiler.kt:106)
at org.jetbrains.kotlin.cli.jvm.K2JVMCompiler.doExecute(K2JVMCompiler.kt:176)
at org.jetbrains.kotlin.cli.jvm.K2JVMCompiler.doExecute(K2JVMCompiler.kt:50)
at org.jetbrains.kotlin.cli.common.CLICompiler.execImpl(CLICompiler.kt:104)
at org.jetbrains.kotlin.cli.common.CLICompiler.execImpl(CLICompiler.kt:48)
at org.jetbrains.kotlin.cli.common.CLITool.exec(CLITool.kt:101)
at org.jetbrains.kotlin.daemon.CompileServiceImpl.compile(CompileServiceImpl.kt:1556)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:568)
at java.rmi/sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:360)
at java.rmi/sun.rmi.transport.Transport$1.run(Transport.java:200)
at java.rmi/sun.rmi.transport.Transport$1.run(Transport.java:197)
at java.base/java.security.AccessController.doPrivileged(AccessController.java:712)
at java.rmi/sun.rmi.transport.Transport.serviceCall(Transport.java:196)
at java.rmi/sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:587)
at java.rmi/sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:828)
at java.rmi/sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.lambda$run$0(TCPTransport.java:705)
at java.base/java.security.AccessController.doPrivileged(AccessController.java:399)
at java.rmi/sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:704)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
at java.base/java.lang.Thread.run(Thread.java:840)
e: Error occurred in KSP, check log for detail
curioustechizen
07/29/2024, 6:14 AMWout Werkman
07/29/2024, 6:46 AMcurioustechizen
07/29/2024, 8:38 AMcurioustechizen
07/29/2024, 8:38 AMcurioustechizen
07/29/2024, 8:46 AMcurioustechizen
07/29/2024, 9:57 AMcommonMain
• Place the preview in androidMain
• Use Android Studio Koala Feature Drop or later
• Use Compose Multiplatform 1.7.0-alpha02 or later
• Use the import androidx.compose.ui.tooling.preview.Preview
(not the Jetbrains one) for the previews in androidMain
I did not get it to work in Fleet but this work-around unblocks me.curioustechizen
07/29/2024, 9:58 AM