Old Cucumber plugin doesn't work in IntelliJ 10
Hi,
The Cucumber plugin no longer seems to work in IntelliJ10, I get the stacktrace below.
The Syntax Highlighting works, and I can run the feature file, but it can't seem to find the steps.
I have the steps in a sub folder called "step_definitions"
Has anyone else seen this?
cheers
Jim
Access is allowed from event dispatch thread only.
Details: Current thread: Thread[JobScheduler pool 2/4,5,Idea Thread Group] 3945939
Our dispatch thread:Thread[AWT-EventQueue-1 10.0.2#IU-103.72, eap:false,6,Idea Thread Group] 20770486
SystemEventQueueThread: Thread[AWT-EventQueue-1 10.0.2#IU-103.72, eap:false,6,Idea Thread Group] 20770486
java.lang.Throwable
at com.intellij.openapi.diagnostic.Logger.error(Logger.java:55)
at com.intellij.openapi.application.impl.ApplicationImpl.b(ApplicationImpl.java:952)
at com.intellij.openapi.application.impl.ApplicationImpl.assertIsDispatchThread(ApplicationImpl.java:936)
at com.intellij.psi.impl.PsiDocumentManagerImpl.commitAllDocuments(PsiDocumentManagerImpl.java:198)
at com.sysfrog.cucumber.psi.psiElements.CucumberStep$CucumberStepMeat.search(CucumberStep.java:93)
at com.sysfrog.cucumber.psi.psiElements.CucumberStep$CucumberStepMeat.search(CucumberStep.java:82)
at com.sysfrog.cucumber.psi.psiElements.CucumberStep$CucumberStepMeat.search(CucumberStep.java:82)
at com.sysfrog.cucumber.psi.psiElements.CucumberStep$CucumberStepMeat.search(CucumberStep.java:82)
at com.sysfrog.cucumber.psi.psiElements.CucumberStep$CucumberStepMeat.search(CucumberStep.java:82)
at com.sysfrog.cucumber.psi.psiElements.CucumberStep$CucumberStepMeat.walkTree(CucumberStep.java:69)
at com.sysfrog.cucumber.psi.psiElements.CucumberStep$CucumberStepMeat.walkTree(CucumberStep.java:77)
at com.sysfrog.cucumber.psi.psiElements.CucumberStep$CucumberStepMeat.walkTree(CucumberStep.java:77)
at com.sysfrog.cucumber.psi.psiElements.CucumberStep$CucumberStepMeat.walkTree(CucumberStep.java:77)
at com.sysfrog.cucumber.psi.psiElements.CucumberStep$CucumberStepMeat.walkTree(CucumberStep.java:77)
at com.sysfrog.cucumber.psi.psiElements.CucumberStep$CucumberStepMeat.walkTree(CucumberStep.java:77)
at com.sysfrog.cucumber.psi.psiElements.CucumberStep$CucumberStepMeat.walkTree(CucumberStep.java:77)
at com.sysfrog.cucumber.psi.psiElements.CucumberStep$CucumberStepMeat.walkTree(CucumberStep.java:77)
at com.sysfrog.cucumber.psi.psiElements.CucumberStep$CucumberStepMeat.walkTree(CucumberStep.java:77)
at com.sysfrog.cucumber.psi.psiElements.CucumberStep$CucumberStepMeat.walkTree(CucumberStep.java:77)
at com.sysfrog.cucumber.psi.psiElements.CucumberStep$CucumberStepMeat.walkTree(CucumberStep.java:77)
at com.sysfrog.cucumber.psi.psiElements.CucumberStep$CucumberStepMeat.walkTree(CucumberStep.java:77)
at com.sysfrog.cucumber.psi.psiElements.CucumberStep$CucumberStepMeat.walkTree(CucumberStep.java:77)
at com.sysfrog.cucumber.psi.psiElements.CucumberStep$CucumberStepMeat.walkTree(CucumberStep.java:77)
at com.sysfrog.cucumber.psi.psiElements.CucumberStep$CucumberStepMeat.resolve(CucumberStep.java:63)
at org.jetbrains.plugins.groovy.intentions.conversions.ConvertMethodToClosureIntention$MyPredicate.satisfiedBy(ConvertMethodToClosureIntention.java:148)
at org.jetbrains.plugins.groovy.intentions.base.Intention.findMatchingElement(Intention.java:93)
at org.jetbrains.plugins.groovy.intentions.base.Intention.isAvailable(Intention.java:110)
at com.intellij.codeInsight.intention.impl.config.IntentionActionWrapper.isAvailable(IntentionActionWrapper.java:52)
at com.intellij.codeInsight.intention.impl.ShowIntentionActionsHandler.a(ShowIntentionActionsHandler.java:95)
at com.intellij.codeInsight.intention.impl.ShowIntentionActionsHandler.availableFor(ShowIntentionActionsHandler.java:86)
at com.intellij.codeInsight.daemon.impl.ShowIntentionsPass$1.process(ShowIntentionsPass.java:205)
at com.intellij.codeInsight.daemon.impl.ShowIntentionsPass$1.process(ShowIntentionsPass.java:203)
at com.intellij.codeInsight.intention.impl.ShowIntentionActionsHandler.chooseBetweenHostAndInjected(ShowIntentionActionsHandler.java:120)
at com.intellij.codeInsight.daemon.impl.ShowIntentionsPass.getActionsToShow(ShowIntentionsPass.java:202)
at com.intellij.codeInsight.daemon.impl.ShowIntentionsPass.b(ShowIntentionsPass.java:153)
at com.intellij.codeInsight.daemon.impl.ShowIntentionsPass.doCollectInformation(ShowIntentionsPass.java:127)
at com.intellij.codeHighlighting.TextEditorHighlightingPass.collectInformation(TextEditorHighlightingPass.java:58)
at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass$1$1.run(PassExecutorService.java:348)
at com.intellij.openapi.application.impl.ApplicationImpl.tryRunReadAction(ApplicationImpl.java:1016)
at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass$1.run(PassExecutorService.java:340)
at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:233)
at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.a(PassExecutorService.java:338)
at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.run(PassExecutorService.java:314)
at com.intellij.concurrency.JobUtil$3.call(JobUtil.java:133)
at com.intellij.concurrency.JobUtil$3.call(JobUtil.java:130)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
at java.util.concurrent.FutureTask.run(FutureTask.java:138)
at com.intellij.concurrency.PrioritizedFutureTask.access$101(PrioritizedFutureTask.java:31)
at com.intellij.concurrency.PrioritizedFutureTask$1.run(PrioritizedFutureTask.java:70)
at com.intellij.concurrency.PrioritizedFutureTask.run(PrioritizedFutureTask.java:113)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:680)
Please sign in to leave a comment.
I now seems to get this exception:
Error while indexing /Library/Ruby/Gems/1.8/gems/cucumber-0.10.0/fixtures/tickets/features/table_diffing.feature
To reindex this file IDEA has to be restarted: com.sysfrog.cucumber.lexer._CucumberLexer: Error: could not match input
java.lang.Error: com.sysfrog.cucumber.lexer._CucumberLexer: Error: could not match input
at com.sysfrog.cucumber.lexer._CucumberLexer.zzScanError(_CucumberLexer.java:477)
at com.sysfrog.cucumber.lexer._CucumberLexer.advance(_CucumberLexer.java:681)
at com.intellij.lexer.FlexAdapter.locateToken(FlexAdapter.java:85)
at com.intellij.lexer.FlexAdapter.getTokenType(FlexAdapter.java:54)
at com.intellij.lang.cacheBuilder.DefaultWordsScanner.processWords(DefaultWordsScanner.java:57)
at com.intellij.psi.impl.cache.impl.id.IdTableBuilding$WordsScannerFileTypeIdIndexerAdapter.map(IdTableBuilding.java:248)
at com.intellij.psi.impl.cache.impl.id.IdTableBuilding$WordsScannerFileTypeIdIndexerAdapter.map(IdTableBuilding.java:236)
at com.intellij.psi.impl.cache.impl.id.IdIndex$4.map(IdIndex.java:77)
at com.intellij.psi.impl.cache.impl.id.IdIndex$4.map(IdIndex.java:72)
at com.intellij.util.indexing.MapReduceIndex.update(MapReduceIndex.java:200)
at com.intellij.util.indexing.FileBasedIndex$21.run(FileBasedIndex.java:1377)
at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeNonCancelableSection(ProgressManagerImpl.java:142)
at com.intellij.util.indexing.FileBasedIndex.a(FileBasedIndex.java:1374)
at com.intellij.util.indexing.FileBasedIndex.indexFileContent(FileBasedIndex.java:1340)
at com.intellij.util.indexing.UnindexedFilesUpdater.processFile(UnindexedFilesUpdater.java:60)
at com.intellij.openapi.project.CacheUpdateSession.processFile(CacheUpdateSession.java:102)
at com.intellij.openapi.project.CacheUpdateRunner$MyRunnable$1.run(CacheUpdateRunner.java:223)
at com.intellij.openapi.project.CacheUpdateRunner$MyRunnable.run(CacheUpdateRunner.java:230)
at com.intellij.openapi.project.CacheUpdateRunner$3.run(CacheUpdateRunner.java:248)
at com.intellij.openapi.application.impl.ApplicationImpl$6.run(ApplicationImpl.java:383)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
at java.util.concurrent.FutureTask.run(FutureTask.java:138)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:680)
at com.intellij.openapi.application.impl.ApplicationImpl$1$1.run(ApplicationImpl.java:131)
java.lang.Error: com.sysfrog.cucumber.lexer._CucumberLexer: Error: could not match input
at com.sysfrog.cucumber.lexer._CucumberLexer.zzScanError(_CucumberLexer.java:477)
at com.sysfrog.cucumber.lexer._CucumberLexer.advance(_CucumberLexer.java:681)
at com.intellij.lexer.FlexAdapter.locateToken(FlexAdapter.java:85)
at com.intellij.lexer.FlexAdapter.getTokenStart(FlexAdapter.java:59)
at com.intellij.lang.cacheBuilder.DefaultWordsScanner.processWords(DefaultWordsScanner.java:76)
at com.intellij.psi.impl.cache.impl.id.IdTableBuilding$WordsScannerFileTypeIdIndexerAdapter.map(IdTableBuilding.java:248)
at com.intellij.psi.impl.cache.impl.id.IdTableBuilding$WordsScannerFileTypeIdIndexerAdapter.map(IdTableBuilding.java:236)
at com.intellij.psi.impl.cache.impl.id.IdIndex$4.map(IdIndex.java:77)
at com.intellij.psi.impl.cache.impl.id.IdIndex$4.map(IdIndex.java:72)
at com.intellij.util.indexing.MapReduceIndex.update(MapReduceIndex.java:200)
at com.intellij.util.indexing.FileBasedIndex$21.run(FileBasedIndex.java:1377)
at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeNonCancelableSection(ProgressManagerImpl.java:142)
at com.intellij.util.indexing.FileBasedIndex.a(FileBasedIndex.java:1374)
at com.intellij.util.indexing.FileBasedIndex.indexFileContent(FileBasedIndex.java:1340)
at com.intellij.util.indexing.UnindexedFilesUpdater.processFile(UnindexedFilesUpdater.java:60)
at com.intellij.openapi.project.CacheUpdateSession.processFile(CacheUpdateSession.java:102)
at com.intellij.openapi.project.CacheUpdateRunner$MyRunnable$1.run(CacheUpdateRunner.java:223)
at com.intellij.openapi.project.CacheUpdateRunner$MyRunnable.run(CacheUpdateRunner.java:230)
at com.intellij.openapi.project.CacheUpdateRunner$3.run(CacheUpdateRunner.java:248)
at com.intellij.openapi.application.impl.ApplicationImpl$6.run(ApplicationImpl.java:383)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
at java.util.concurrent.FutureTask.run(FutureTask.java:138)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:680)
at com.intellij.openapi.application.impl.ApplicationImpl$1$1.run(ApplicationImpl.java:131)
Ah, It seems that I no longer need the plugin!
I disabled the plugin and my cucumber IDE still works, am guessing its now bundled in the ruby plugin?
Perhaps it should be removed from the list of plugins?
I can now jump between the feature and the steps, but when I run it it thinks the steps are missing....
cheers
Jim
Ok. I see the problem. I have my specs in a subfolder, and had set the working directory to be the root in the configuration panel.
Setting the working directory back to where the tests are fixed the problem.
I find I also need to add "-I ../lib" to the Ruby options so that it can find my source code though.
Anyway it is all working fine now, sorry for the spam, but maybe this will help someone else with the same problem