wrdv / testme-idea

TestMe IntelliJ IDEA Plugin - Auto generates Unit Test code
http://weirddev.com/testme
Other
171 stars 65 forks source link

V6.5.0.eap incompatible with IDEA 2024.1 #40

Closed yaronyam closed 6 months ago

yaronyam commented 6 months ago

on IDEA 2024.1 , intentions do not open. related to #39 , due to usage of GenerateMissedTestsAction class that became final in 2024.1 logged error:

com.intellij.diagnostic.PluginException: Cannot load class com.weirddev.testme.intellij.intention.CreateTestForMethodIntention (
  error: class com.weirddev.testme.intellij.intention.CreateTestForMethodIntention cannot inherit from final class com.intellij.testIntegration.createTest.GenerateMissedTestsAction,
  classLoader=PluginClassLoader(plugin=PluginDescriptor(name=TestMe, id=com.weirddev.testme, descriptorPath=plugin.xml, path=~\AppData\Local\JetBrains\Toolbox\apps\IDEA-U\ch-0\241.14494.240.plugins\TestMe, version=6.5.0.eap, package=null, isBundled=false), packagePrefix=null, state=active)
)
    at com.intellij.ide.plugins.cl.PluginClassLoader.loadClassInsideSelf(PluginClassLoader.kt:331)
    at com.intellij.ide.plugins.cl.PluginClassLoader.tryLoadingClass(PluginClassLoader.kt:178)
    at com.intellij.serviceContainer.ComponentManagerImplKt.doLoadClass(ComponentManagerImpl.kt:1466)
    at com.intellij.serviceContainer.ComponentManagerImpl.instantiateClass(ComponentManagerImpl.kt:943)
    at com.intellij.serviceContainer.LazyExtensionInstance.createInstance(LazyExtensionInstance.java:55)
    at com.intellij.serviceContainer.LazyExtensionInstance.getInstance(LazyExtensionInstance.java:44)
    at com.intellij.serviceContainer.BaseKeyedLazyInstance.getInstance(BaseKeyedLazyInstance.java:38)
    at com.intellij.codeInsight.intention.impl.config.IntentionActionWrapper.getDelegate(IntentionActionWrapper.java:115)
    at com.intellij.codeInsight.intention.impl.config.IntentionActionWrapper.getFamilyName(IntentionActionWrapper.java:55)
    at com.intellij.codeInsight.intention.impl.config.IntentionActionMetaData.getFamily(IntentionActionMetaData.java:43)
    at com.intellij.codeInsight.intention.impl.config.IntentionsMetadataService.getUniqueMetadata(IntentionsMetadataService.kt:98)
    at com.intellij.codeInsight.intention.impl.config.IntentionManagerSettings.getMetaData(IntentionManagerSettings.kt:50)
    at com.intellij.codeInsight.intention.impl.config.IntentionManagerSettings$IntentionSearchableOptionContributor.processOptions(IntentionManagerSettings.kt:82)
    at com.intellij.ide.ui.search.SearchableOptionsRegistrarImpl.lambda$initialize$0(SearchableOptionsRegistrarImpl.java:137)
    at com.intellij.openapi.extensions.ExtensionPointName.forEachExtensionSafe(ExtensionPointName.kt:61)
    at com.intellij.ide.ui.search.SearchableOptionsRegistrarImpl.initialize(SearchableOptionsRegistrarImpl.java:137)
    at com.intellij.ide.ui.search.SearchableOptionsRegistrarImpl.getAcceptableDescriptions(SearchableOptionsRegistrarImpl.java:464)
    at com.intellij.ide.util.gotoByName.ActionAsyncProvider$optionsFlow$1.invokeSuspend(ActionAsyncProvider.kt:284)
    at com.intellij.ide.util.gotoByName.ActionAsyncProvider$optionsFlow$1.invoke(ActionAsyncProvider.kt)
    at com.intellij.ide.util.gotoByName.ActionAsyncProvider$optionsFlow$1.invoke(ActionAsyncProvider.kt)
    at kotlinx.coroutines.flow.ChannelFlowBuilder.collectTo$suspendImpl(Builders.kt:320)
    at kotlinx.coroutines.flow.ChannelFlowBuilder.collectTo(Builders.kt)
    at kotlinx.coroutines.flow.internal.ChannelFlow$collectToFun$1.invokeSuspend(ChannelFlow.kt:60)
    at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
    at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:108)
    at kotlinx.coroutines.internal.LimitedDispatcher$Worker.run(LimitedDispatcher.kt:115)
    at kotlinx.coroutines.scheduling.TaskImpl.run(Tasks.kt:103)
    at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:584)
    at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:793)
    at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:697)
    at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:684)
Caused by: java.lang.IncompatibleClassChangeError: class com.weirddev.testme.intellij.intention.CreateTestForMethodIntention cannot inherit from final class com.intellij.testIntegration.createTest.GenerateMissedTestsAction
    at java.base/java.lang.ClassLoader.defineClass2(Native Method)
    at java.base/java.lang.ClassLoader.defineClass(ClassLoader.java:1108)
    at com.intellij.util.lang.UrlClassLoader.consumeClassData(UrlClassLoader.java:291)
    at com.intellij.util.lang.ZipResourceFile.findClass(ZipResourceFile.java:116)
    at com.intellij.util.lang.JarLoader.findClass(JarLoader.java:58)
    at com.intellij.util.lang.ClassPath.findClassInLoader(ClassPath.java:240)
    at com.intellij.util.lang.ClassPath.findClass(ClassPath.java:190)
    at com.intellij.ide.plugins.cl.PluginClassLoader.loadClassInsideSelf(PluginClassLoader.kt:326)
yaronyam commented 6 months ago

closed by #42