ligasgr / intellij-xquery

Plugin to support XQuery in Intellij Idea
Apache License 2.0
35 stars 23 forks source link

IDEA 15 not supported #141

Closed awal11 closed 8 years ago

awal11 commented 9 years ago

Updated to IDEA 15 and the plugin does not work:

com.intellij.codeInspection.InspectionManager.createProblemDescriptor(Lcom/intellij/psi/PsiElement;Ljava/lang/String;Lcom/intellij/codeInspection/ProblemHighlightType;Lcom/intellij/codeInspection/HintAction;Z[Lcom/intellij/codeInspection/LocalQuickFix;)Lcom/intellij/codeInspection/ProblemDescriptor;
java.lang.NoSuchMethodError: com.intellij.codeInspection.InspectionManager.createProblemDescriptor(Lcom/intellij/psi/PsiElement;Ljava/lang/String;Lcom/intellij/codeInspection/ProblemHighlightType;Lcom/intellij/codeInspection/HintAction;Z[Lcom/intellij/codeInspection/LocalQuickFix;)Lcom/intellij/codeInspection/ProblemDescriptor;
    at org.intellij.xquery.inspection.imports.UnusedImportsInspection.getUnusedImportProblems(UnusedImportsInspection.java:54)
    at org.intellij.xquery.inspection.imports.UnusedImportsInspection.checkFile(UnusedImportsInspection.java:46)
    at com.intellij.codeInspection.LocalInspectionTool$1.visitFile(LocalInspectionTool.java:153)
    at com.intellij.extapi.psi.PsiFileBase.accept(PsiFileBase.java:70)
    at com.intellij.codeInspection.InspectionEngine.acceptElements(InspectionEngine.java:81)
    at com.intellij.codeInspection.InspectionEngine.createVisitorAndAcceptElements(InspectionEngine.java:69)
    at com.intellij.codeInsight.daemon.impl.LocalInspectionsPass.a(LocalInspectionsPass.java:294)
    at com.intellij.codeInsight.daemon.impl.LocalInspectionsPass.access$200(LocalInspectionsPass.java:73)
    at com.intellij.codeInsight.daemon.impl.LocalInspectionsPass$2.process(LocalInspectionsPass.java:261)
    at com.intellij.codeInsight.daemon.impl.LocalInspectionsPass$2.process(LocalInspectionsPass.java:256)
    at com.intellij.concurrency.ApplierCompleter.a(ApplierCompleter.java:122)
    at com.intellij.concurrency.ApplierCompleter.access$000(ApplierCompleter.java:44)
    at com.intellij.concurrency.ApplierCompleter$1.run(ApplierCompleter.java:85)
    at com.intellij.openapi.application.impl.ApplicationImpl.tryRunReadAction(ApplicationImpl.java:1169)
    at com.intellij.concurrency.ApplierCompleter$2.run(ApplierCompleter.java:94)
    at com.intellij.openapi.progress.impl.CoreProgressManager.a(CoreProgressManager.java:446)
    at com.intellij.openapi.progress.impl.CoreProgressManager.a(CoreProgressManager.java:443)
    at com.intellij.openapi.progress.impl.CoreProgressManager.executeProcessUnderProgress(CoreProgressManager.java:392)
    at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:54)
    at com.intellij.concurrency.ApplierCompleter.a(ApplierCompleter.java:106)
    at com.intellij.concurrency.ApplierCompleter.compute(ApplierCompleter.java:82)
    at jsr166e.CountedCompleter.exec(CountedCompleter.java:684)
    at jsr166e.ForkJoinTask.doExec(ForkJoinTask.java:260)
    at jsr166e.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:858)
    at jsr166e.ForkJoinPool.scan(ForkJoinPool.java:1687)
    at jsr166e.ForkJoinPool.runWorker(ForkJoinPool.java:1642)
    at jsr166e.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:108)
ligasgr commented 8 years ago

Thanks for raising the issue, I'll have a look at fixing that.

ligasgr commented 8 years ago

Hi,

Can you please let me know which version of idea you are using? (I'm interested in precise number like IC-143.747.6, etc.). On the version that I've mentioned I'm not able to reproduce the issue.

awal11 commented 8 years ago

I have updated to 15.0.1 (143.382), generated the errors below, then updated to 143.747.6 and the errors keep popping up. Important thing noticed when trying to replicate - the error does not show for the files I have opened before, just on new files that have not been read by me previously - I am trying to analyze someone else's code, on a project using marklogic xquery code. Example file where the error occured: https://github.com/marklogic/roxy/blob/master/src/roxy/rewrite.xqy

com.intellij.codeInspection.InspectionManager.createProblemDescriptor(Lcom/intellij/psi/PsiElement;Ljava/lang/String;Lcom/intellij/codeInspection/ProblemHighlightType;Lcom/intellij/codeInspection/HintAction;Z[Lcom/intellij/codeInspection/LocalQuickFix;)Lcom/intellij/codeInspection/ProblemDescriptor;
java.lang.NoSuchMethodError: com.intellij.codeInspection.InspectionManager.createProblemDescriptor(Lcom/intellij/psi/PsiElement;Ljava/lang/String;Lcom/intellij/codeInspection/ProblemHighlightType;Lcom/intellij/codeInspection/HintAction;Z[Lcom/intellij/codeInspection/LocalQuickFix;)Lcom/intellij/codeInspection/ProblemDescriptor;
    at org.intellij.xquery.inspection.imports.UnusedImportsInspection.getUnusedImportProblems(UnusedImportsInspection.java:54)
    at org.intellij.xquery.inspection.imports.UnusedImportsInspection.checkFile(UnusedImportsInspection.java:46)
    at com.intellij.codeInspection.LocalInspectionTool$1.visitFile(LocalInspectionTool.java:153)
    at com.intellij.extapi.psi.PsiFileBase.accept(PsiFileBase.java:70)
    at com.intellij.codeInspection.InspectionEngine.acceptElements(InspectionEngine.java:81)
    at com.intellij.codeInsight.daemon.impl.LocalInspectionsPass$4.process(LocalInspectionsPass.java:320)
    at com.intellij.codeInsight.daemon.impl.LocalInspectionsPass$4.process(LocalInspectionsPass.java:315)
    at com.intellij.concurrency.ApplierCompleter.a(ApplierCompleter.java:122)
    at com.intellij.concurrency.ApplierCompleter.access$000(ApplierCompleter.java:44)
    at com.intellij.concurrency.ApplierCompleter$1.run(ApplierCompleter.java:85)
    at com.intellij.openapi.application.impl.ApplicationImpl.tryRunReadAction(ApplicationImpl.java:1169)
    at com.intellij.concurrency.ApplierCompleter$2.run(ApplierCompleter.java:94)
    at com.intellij.openapi.progress.impl.CoreProgressManager.a(CoreProgressManager.java:446)
    at com.intellij.openapi.progress.impl.CoreProgressManager.a(CoreProgressManager.java:443)
    at com.intellij.openapi.progress.impl.CoreProgressManager.executeProcessUnderProgress(CoreProgressManager.java:392)
    at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:54)
    at com.intellij.concurrency.ApplierCompleter.a(ApplierCompleter.java:106)
    at com.intellij.concurrency.ApplierCompleter.compute(ApplierCompleter.java:82)
    at jsr166e.CountedCompleter.exec(CountedCompleter.java:684)
    at jsr166e.ForkJoinTask.doExec(ForkJoinTask.java:260)
    at jsr166e.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:858)
    at jsr166e.ForkJoinPool.scan(ForkJoinPool.java:1687)
    at jsr166e.ForkJoinPool.runWorker(ForkJoinPool.java:1642)
    at jsr166e.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:108)

java.lang.NoSuchMethodError: com.intellij.codeInspection.InspectionManager.createProblemDescriptor(Lcom/intellij/psi/PsiElement;Ljava/lang/String;Lcom/intellij/codeInspection/ProblemHighlightType;Lcom/intellij/codeInspection/HintAction;Z[Lcom/intellij/codeInspection/LocalQuickFix;)Lcom/intellij/codeInspection/ProblemDescriptor;
    at org.intellij.xquery.inspection.imports.UnusedImportsInspection.getUnusedImportProblems(UnusedImportsInspection.java:54)
    at org.intellij.xquery.inspection.imports.UnusedImportsInspection.checkFile(UnusedImportsInspection.java:46)
    at com.intellij.codeInspection.LocalInspectionTool$1.visitFile(LocalInspectionTool.java:153)
    at com.intellij.extapi.psi.PsiFileBase.accept(PsiFileBase.java:70)
    at com.intellij.codeInspection.InspectionEngine.acceptElements(InspectionEngine.java:81)
    at com.intellij.codeInsight.daemon.impl.LocalInspectionsPass$4.process(LocalInspectionsPass.java:320)
    at com.intellij.codeInsight.daemon.impl.LocalInspectionsPass$4.process(LocalInspectionsPass.java:315)
    at com.intellij.concurrency.ApplierCompleter.a(ApplierCompleter.java:122)
    at com.intellij.concurrency.ApplierCompleter.access$000(ApplierCompleter.java:44)
    at com.intellij.concurrency.ApplierCompleter$1.run(ApplierCompleter.java:85)
    at com.intellij.openapi.application.impl.ApplicationImpl.tryRunReadAction(ApplicationImpl.java:1169)
    at com.intellij.concurrency.ApplierCompleter$2.run(ApplierCompleter.java:94)
    at com.intellij.openapi.progress.impl.CoreProgressManager.a(CoreProgressManager.java:446)
    at com.intellij.openapi.progress.impl.CoreProgressManager.a(CoreProgressManager.java:443)
    at com.intellij.openapi.progress.impl.CoreProgressManager.executeProcessUnderProgress(CoreProgressManager.java:392)
    at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:54)
    at com.intellij.concurrency.ApplierCompleter.a(ApplierCompleter.java:106)
    at com.intellij.concurrency.ApplierCompleter.compute(ApplierCompleter.java:82)
    at jsr166e.CountedCompleter.exec(CountedCompleter.java:684)
    at jsr166e.ForkJoinTask.doExec(ForkJoinTask.java:260)
    at jsr166e.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:858)
    at jsr166e.ForkJoinPool.scan(ForkJoinPool.java:1687)
    at jsr166e.ForkJoinPool.runWorker(ForkJoinPool.java:1642)
    at jsr166e.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:108)
sofiageo commented 8 years ago

It's not working for me also for version (143.382), when trying to add a data source i get the following error:

java.lang.NoSuchMethodError: org.intellij.xquery.runner.ui.datasources.DataSourceConfigurationCellRenderer.append(Ljava/lang/String;)V
    at org.intellij.xquery.runner.ui.datasources.DataSourceConfigurationCellRenderer.customizeCellRenderer(DataSourceConfigurationCellRenderer.java:35)
    at com.intellij.ui.ColoredListCellRenderer.getListCellRendererComponent(ColoredListCellRenderer.java:75)
    at com.intellij.ui.ExpandedItemListCellRendererWrapper.getListCellRendererComponent(ExpandedItemListCellRendererWrapper.java:39)
    at javax.swing.plaf.basic.BasicListUI.updateLayoutState(BasicListUI.java:1361)
    at javax.swing.plaf.basic.BasicListUI.maybeUpdateLayoutState(BasicListUI.java:1311)
    at javax.swing.plaf.basic.BasicListUI.locationToIndex(BasicListUI.java:929)
    at javax.swing.JList.locationToIndex(JList.java:1590)
    at javax.swing.JList.getLastVisibleIndex(JList.java:1074)
    at com.intellij.ui.ScrollingUtil.getVisibleRowCount(ScrollingUtil.java:248)
    at com.intellij.ui.ScrollingUtil.visibleRowCount(ScrollingUtil.java:390)
    at com.intellij.ui.ScrollingUtil._ensureIndexIsVisible(ScrollingUtil.java:171)
    at com.intellij.ui.ScrollingUtil.ensureIndexIsVisible(ScrollingUtil.java:163)
    at com.intellij.ui.ScrollingUtil.selectItem(ScrollingUtil.java:68)
    at com.intellij.ui.ScrollingUtil.selectItem(ScrollingUtil.java:90)
    at org.intellij.xquery.runner.ui.datasources.DataSourceListPanel.addNewDataSourceConfigurationToModelAndSelectIt(DataSourceListPanel.java:209)
    at org.intellij.xquery.runner.ui.datasources.DataSourceListPanel.addDataSourceConfigurationBasedOnType(DataSourceListPanel.java:203)
    at org.intellij.xquery.runner.ui.datasources.DataSourceListPanel.access$800(DataSourceListPanel.java:52)
    at org.intellij.xquery.runner.ui.datasources.DataSourceListPanel$6.execute(DataSourceListPanel.java:196)
    at org.intellij.xquery.runner.ui.datasources.DataSourceTypesListPopup.onChosen(DataSourceTypesListPopup.java:60)
    at org.intellij.xquery.runner.ui.datasources.DataSourceTypesListPopup.onChosen(DataSourceTypesListPopup.java:31)
    at com.intellij.ui.popup.list.ListPopupImpl._handleSelect(ListPopupImpl.java:382)
    at com.intellij.ui.popup.list.ListPopupImpl.handleSelect(ListPopupImpl.java:342)
    at com.intellij.ui.popup.list.ListPopupImpl$MyMouseListener.mouseReleased(ListPopupImpl.java:472)
    at java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:290)
    at java.awt.Component.processMouseEvent(Component.java:6525)
    at javax.swing.JComponent.processMouseEvent(JComponent.java:3324)
    at com.intellij.ui.popup.list.ListPopupImpl$MyList.processMouseEvent(ListPopupImpl.java:532)
    at java.awt.Component.processEvent(Component.java:6290)
    at java.awt.Container.processEvent(Container.java:2234)
    at java.awt.Component.dispatchEventImpl(Component.java:4881)
    at java.awt.Container.dispatchEventImpl(Container.java:2292)
    at java.awt.Component.dispatchEvent(Component.java:4703)
    at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4898)
    at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4533)
    at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4462)
    at java.awt.Container.dispatchEventImpl(Container.java:2278)
    at java.awt.Window.dispatchEventImpl(Window.java:2750)
    at java.awt.Component.dispatchEvent(Component.java:4703)
    at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:758)
    at java.awt.EventQueue.access$500(EventQueue.java:97)
    at java.awt.EventQueue$3.run(EventQueue.java:709)
    at java.awt.EventQueue$3.run(EventQueue.java:703)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:75)
    at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:86)
    at java.awt.EventQueue$4.run(EventQueue.java:731)
    at java.awt.EventQueue$4.run(EventQueue.java:729)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:75)
    at java.awt.EventQueue.dispatchEvent(EventQueue.java:728)
    at com.intellij.ide.IdeEventQueue.defaultDispatchEvent(IdeEventQueue.java:861)
    at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:645)
    at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:380)
    at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
    at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
    at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:109)
    at java.awt.WaitDispatchSupport$2.run(WaitDispatchSupport.java:184)
    at java.awt.WaitDispatchSupport$4.run(WaitDispatchSupport.java:229)
    at java.awt.WaitDispatchSupport$4.run(WaitDispatchSupport.java:227)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.awt.WaitDispatchSupport.enter(WaitDispatchSupport.java:227)
    at java.awt.Dialog.show(Dialog.java:1084)
    at com.intellij.openapi.ui.impl.DialogWrapperPeerImpl$MyDialog.show(DialogWrapperPeerImpl.java:792)
    at com.intellij.openapi.ui.impl.DialogWrapperPeerImpl.show(DialogWrapperPeerImpl.java:465)
    at com.intellij.openapi.ui.DialogWrapper.invokeShow(DialogWrapper.java:1637)
    at com.intellij.openapi.ui.DialogWrapper.show(DialogWrapper.java:1586)
    at com.intellij.ide.actions.ShowSettingsUtilImpl.showSettingsDialog(ShowSettingsUtilImpl.java:118)
    at com.intellij.ide.actions.ShowSettingsAction.actionPerformed(ShowSettingsAction.java:65)
    at com.intellij.openapi.actionSystem.ex.ActionUtil.performActionDumbAware(ActionUtil.java:182)
    at com.intellij.openapi.actionSystem.impl.ActionMenuItem$ActionTransmitter$1.run(ActionMenuItem.java:311)
    at com.intellij.openapi.wm.impl.FocusManagerImpl.runOnOwnContext(FocusManagerImpl.java:958)
    at com.intellij.openapi.wm.impl.IdeFocusManagerImpl.runOnOwnContext(IdeFocusManagerImpl.java:124)
    at com.intellij.openapi.actionSystem.impl.ActionMenuItem$ActionTransmitter.actionPerformed(ActionMenuItem.java:281)
    at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2022)
    at com.intellij.openapi.actionSystem.impl.ActionMenuItem.fireActionPerformed(ActionMenuItem.java:109)
    at com.intellij.ui.plaf.beg.BegMenuItemUI.doClick(BegMenuItemUI.java:513)
    at com.intellij.ui.plaf.beg.BegMenuItemUI.access$300(BegMenuItemUI.java:45)
    at com.intellij.ui.plaf.beg.BegMenuItemUI$MyMouseInputHandler.mouseReleased(BegMenuItemUI.java:533)
    at java.awt.Component.processMouseEvent(Component.java:6525)
    at javax.swing.JComponent.processMouseEvent(JComponent.java:3324)
    at java.awt.Component.processEvent(Component.java:6290)
    at java.awt.Container.processEvent(Container.java:2234)
    at java.awt.Component.dispatchEventImpl(Component.java:4881)
    at java.awt.Container.dispatchEventImpl(Container.java:2292)
    at java.awt.Component.dispatchEvent(Component.java:4703)
    at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4898)
    at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4533)
    at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4462)
    at java.awt.Container.dispatchEventImpl(Container.java:2278)
    at java.awt.Window.dispatchEventImpl(Window.java:2750)
    at java.awt.Component.dispatchEvent(Component.java:4703)
    at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:758)
    at java.awt.EventQueue.access$500(EventQueue.java:97)
    at java.awt.EventQueue$3.run(EventQueue.java:709)
    at java.awt.EventQueue$3.run(EventQueue.java:703)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:75)
    at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:86)
    at java.awt.EventQueue$4.run(EventQueue.java:731)
    at java.awt.EventQueue$4.run(EventQueue.java:729)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:75)
    at java.awt.EventQueue.dispatchEvent(EventQueue.java:728)
    at com.intellij.ide.IdeEventQueue.defaultDispatchEvent(IdeEventQueue.java:861)
    at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:645)
    at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:380)
    at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
    at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
    at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)
ligasgr commented 8 years ago

Can you please also specify which version of the plugin are you exactly facing the issue with?

ligasgr commented 8 years ago

I was able to reproduce the issues on 0.0.9 which is incompatible with anything newer than Idea 12.X and is only being picked up by Idea as it didn't have the upper limit for version (it was released 2 years ago). I've removed all of the older versions that didn't have the upper limit to avoid confusion and automatic updates to unsupported versions. If anyone is interested they are still available here

sofiageo commented 8 years ago

wow, thanks for this. I've been using that old xquery plugin for some months and never realized it was that old. I guess I will have to apologize for wasting your time :)

However I need to suggest to make the installation instructions more visible, for example in the front page. I've visited your page several times and never noticed the installation instructions.

I also tried to build the plugin with gradle using these instructions, and even though I managed to install it, It still wouldn't work. I will make another try tomorrow and if nothing works I will open another issue. Thanks again.

ligasgr commented 8 years ago

Hi,

Installation instructions are at the bootom of this page http://ligasgr.github.io/intellij-xquery/ The thing is that currently there is no released version of plugin that would have support for new version of IDEA. You can obviously try to build it yourself from latest master. Part of the information is on the page here http://ligasgr.github.io/intellij-xquery/collaboration.html Essentially after downloading source code run following commands: ./gradlew downloadSdk ./gradlew unzipSdk ./gradlew build If this commands ends with success you should be able to run: ./gradlew dist which will produce a binary distribution of the plugin in build/distribution subdirectory which you can install into IDEA using instructions like here https://www.jetbrains.com/idea/help/installing-plugin-from-disk.html

Hope this helps

ligasgr commented 8 years ago

One more thing to keep in mind: You need to have JDK7 set as JAVA_HOME so that if you run: ./gradlew --version

you get information about JDK 7 as being used.

awal11 commented 8 years ago

You nailed it by figuring the problem with version 0.0.9 - thanks!

I have taken the currently available plugin, changed the until-build to 143 manually and the plugin works properly so far. I suggest you release what you have, instead of depriving the Idea 15 users the access to the plugin at all.

I understand that the users that are stuck with 0.0.9 are stuck with it until they remove it manually? Maybe you could describe the solution for them more clearly once they see the exceptions?