Intellij: Support IntelliJ 2019.2

Created on 26 Apr 2019  路  16Comments  路  Source: bazelbuild/intellij

Just opening this issue so I can subscribe to when it is supported.

IntelliJ

Most helpful comment

Sorry for the lack of updates, 2019.2 support is expected to arrive early next week.

Hi @jin is the custom release channel something that's available now or just something planned for the future?

This is planned for the (near) future.

All 16 comments

2019.2 is now the default version of IJ, and folks are being encouraged to update. Now's a perfect time for a new plugin release!

/me waves at @uri-canva

I have the changes needed to build it for 2019.2 at https://github.com/uri-canva/intellij/tree/intellij-ue-2019.2, but I'm hitting an error when using it:

update failed for ActionGroup: Previous Occurrence (Navigate to the previous occurrence)[Previous Occurrence]

java.lang.NullPointerException
    at com.intellij.ide.OccurenceNavigatorSupport.findNextNodeAfter(OccurenceNavigatorSupport.java:132)
    at com.intellij.ide.OccurenceNavigatorSupport.findNode(OccurenceNavigatorSupport.java:117)
    at com.intellij.ide.OccurenceNavigatorSupport.hasPreviousOccurence(OccurenceNavigatorSupport.java:96)
    at com.intellij.ide.errorTreeView.NewErrorTreeViewPanel.hasPreviousOccurence(NewErrorTreeViewPanel.java:584)
    at com.intellij.ide.actions.PreviousOccurenceAction.hasOccurenceToGo(PreviousOccurenceAction.java:20)
    at com.intellij.ide.actions.OccurenceNavigatorActionBase.update(OccurenceNavigatorActionBase.java:72)
    at com.intellij.ide.actions.PreviousOccurenceAction.update(PreviousOccurenceAction.java:7)
    at com.intellij.openapi.actionSystem.ex.ActionUtil.performDumbAwareUpdate(ActionUtil.java:176)
    at com.intellij.openapi.actionSystem.impl.ActionUpdater.doUpdate(ActionUpdater.java:378)
    at com.intellij.openapi.actionSystem.impl.ActionUpdater.lambda$null$1(ActionUpdater.java:78)
    at com.intellij.openapi.actionSystem.impl.ActionUpdater.callAction(ActionUpdater.java:106)
    at com.intellij.openapi.actionSystem.impl.ActionUpdater.lambda$new$2(ActionUpdater.java:79)
    at com.intellij.openapi.actionSystem.impl.ActionUpdater.update(ActionUpdater.java:364)
    at com.intellij.openapi.actionSystem.impl.ActionUpdater.expandGroupChild(ActionUpdater.java:231)
    at com.intellij.openapi.actionSystem.impl.ActionUpdater.lambda$doExpandActionGroup$19(ActionUpdater.java:215)
    at com.intellij.util.containers.ContainerUtil.concat(ContainerUtil.java:1609)
    at com.intellij.openapi.actionSystem.impl.ActionUpdater.doExpandActionGroup(ActionUpdater.java:215)
    at com.intellij.openapi.actionSystem.impl.ActionUpdater.expandActionGroup(ActionUpdater.java:139)
    at com.intellij.openapi.actionSystem.impl.ActionUpdater.expandActionGroup(ActionUpdater.java:131)
    at com.intellij.openapi.actionSystem.impl.ActionUpdater.lambda$expandActionGroupWithTimeout$11(ActionUpdater.java:148)
    at com.intellij.openapi.progress.impl.CoreProgressManager.lambda$runProcess$3(CoreProgressManager.java:185)
    at com.intellij.openapi.progress.impl.CoreProgressManager.lambda$runProcess$2(CoreProgressManager.java:169)
    at com.intellij.openapi.progress.impl.CoreProgressManager.registerIndicatorAndRun(CoreProgressManager.java:591)
    at com.intellij.openapi.progress.impl.CoreProgressManager.executeProcessUnderProgress(CoreProgressManager.java:537)
    at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:59)
    at com.intellij.openapi.progress.impl.CoreProgressManager.runProcess(CoreProgressManager.java:156)
    at com.intellij.openapi.progress.impl.CoreProgressManager.runProcess(CoreProgressManager.java:185)
    at com.intellij.openapi.progress.util.ProgressIndicatorUtils.withTimeout(ProgressIndicatorUtils.java:260)
    at com.intellij.openapi.actionSystem.impl.ActionUpdater.expandActionGroupWithTimeout(ActionUpdater.java:147)
    at com.intellij.openapi.actionSystem.impl.ActionToolbarImpl.updateActionsImpl(ActionToolbarImpl.java:1113)
    at com.intellij.openapi.actionSystem.impl.ActionToolbarImpl.access$000(ActionToolbarImpl.java:52)
    at com.intellij.openapi.actionSystem.impl.ActionToolbarImpl$1.updateActionsImpl(ActionToolbarImpl.java:165)
    at com.intellij.openapi.actionSystem.impl.ToolbarUpdater$MyUpdateRunnable.run(ToolbarUpdater.java:172)
    at com.intellij.openapi.actionSystem.impl.ToolbarUpdater.updateActions(ToolbarUpdater.java:87)
    at com.intellij.openapi.actionSystem.impl.ToolbarUpdater.updateActions(ToolbarUpdater.java:79)
    at com.intellij.openapi.actionSystem.impl.ActionToolbarImpl.updateActionsImmediately(ActionToolbarImpl.java:1095)
    at com.intellij.openapi.actionSystem.impl.ActionToolbarImpl.addNotify(ActionToolbarImpl.java:204)
    at java.desktop/java.awt.Container.addNotify(Container.java:2800)
    at java.desktop/javax.swing.JComponent.addNotify(JComponent.java:4783)
    at java.desktop/java.awt.Container.addImpl(Container.java:1146)
    at java.desktop/java.awt.Container.add(Container.java:997)
    at com.intellij.openapi.wm.impl.content.ToolWindowContentUi.ensureSelectedContentVisible(ToolWindowContentUi.java:219)
    at com.intellij.openapi.wm.impl.content.ToolWindowContentUi.access$200(ToolWindowContentUi.java:48)
    at com.intellij.openapi.wm.impl.content.ToolWindowContentUi$2.selectionChanged(ToolWindowContentUi.java:187)
    at jdk.internal.reflect.GeneratedMethodAccessor119.invoke(Unknown Source)
    at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.base/java.lang.reflect.Method.invoke(Method.java:566)
    at com.intellij.util.EventDispatcher.dispatchVoidMethod(EventDispatcher.java:130)
    at com.intellij.util.EventDispatcher.access$000(EventDispatcher.java:24)
    at com.intellij.util.EventDispatcher$1.invoke(EventDispatcher.java:88)
    at com.sun.proxy.$Proxy100.selectionChanged(Unknown Source)
    at com.intellij.ui.content.impl.ContentManagerImpl.fireSelectionChanged(ContentManagerImpl.java:554)
    at com.intellij.ui.content.impl.ContentManagerImpl.addSelectedContent(ContentManagerImpl.java:370)
    at com.intellij.ui.content.impl.ContentManagerImpl$1.run(ContentManagerImpl.java:461)
    at com.intellij.ui.content.impl.ContentManagerImpl.setSelectedContent(ContentManagerImpl.java:477)
    at com.intellij.ui.content.impl.ContentManagerImpl.setSelectedContentCB(ContentManagerImpl.java:428)
    at com.intellij.ui.content.impl.ContentManagerImpl.setSelectedContentCB(ContentManagerImpl.java:417)
    at com.intellij.ui.content.impl.ContentManagerImpl.setSelectedContentCB(ContentManagerImpl.java:495)
    at com.intellij.ui.content.impl.ContentManagerImpl.setSelectedContent(ContentManagerImpl.java:500)
    at com.intellij.ui.content.impl.ContentManagerImpl.doAddContent(ContentManagerImpl.java:152)
    at com.intellij.ui.content.impl.ContentManagerImpl.addContent(ContentManagerImpl.java:134)
    at com.google.idea.blaze.base.ui.problems.BlazeProblemsView.createToolWindow(BlazeProblemsView.java:98)
    at com.google.idea.blaze.base.ui.problems.BlazeProblemsView.lambda$new$1(BlazeProblemsView.java:88)
    at java.desktop/java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:313)
    at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:776)
    at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:727)
    at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:721)
    at java.base/java.security.AccessController.doPrivileged(Native Method)
    at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85)
    at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:746)
    at com.intellij.ide.IdeEventQueue.defaultDispatchEvent(IdeEventQueue.java:873)
    at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:822)
    at com.intellij.ide.IdeEventQueue.lambda$dispatchEvent$8(IdeEventQueue.java:461)
    at com.intellij.openapi.progress.impl.CoreProgressManager.computePrioritized(CoreProgressManager.java:704)
    at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:460)
    at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203)
    at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124)
    at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113)
    at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109)
    at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
    at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90)

All features seem to work correctly despite the error, but it has pretty poor performance when navigating to third party dependencies, so I'm trying to fix this error in case it's either a symptom of the same cause, or is hiding another error that might help explain the performance issue.

Figured out the performance issue was unrelated to the Bazel plugin, and the above error can be ignored. I'm happy with it and we're using it now.

Do you mind to add support for CLion 2019.2 also?

FWIW, I got the bazel plugin to work with 2019.2 adding this extra plugin jar I got the bazel plugin to work with 2019.2:
https://github.com/bazelbuild/intellij/compare/master...krlvi:compile-for-2019.2
Then a 2019.2 plugin can be built (and copied):

bazel build //ijwb:ijwb_bazel_zip --define=ij_product=intellij-2019.2; cp ./bazel-bin/ijwb/ijwb_bazel.zip .

replace --define=ij_product=intellij-2019.2 with --define=ij_product=intellij-ue-2019.2 for ultimate edition

@brendandouglas @jin any chance you have an estimate when 2019.2 will be supported?

FWIW, I got the bazel plugin to work with 2019.2 adding this extra plugin jar I got the bazel plugin to work with 2019.2:
master...krlvi:compile-for-2019.2
Then a 2019.2 plugin can be built (and copied):

bazel build //ijwb:ijwb_bazel_zip --define=ij_product=intellij-2019.2; cp ./bazel-bin/ijwb/ijwb_bazel.zip .

replace --define=ij_product=intellij-2019.2 with --define=ij_product=intellij-ue-2019.2 for ultimate edition

I made a PR out of it here: https://github.com/bazelbuild/intellij/pull/1082

In a few weeks for the official release - the team is working on the compatibility fixes now for the entire plugin and making sure there are no regressions.

I can look into making a version of a plugin that works with 2019.2 (as soon as it's ready) to a custom release channel. But this will be an opt-in option, since it's not the stable channel.

That sounds good! We understand testing for regressions and supporting all the use cases in your repo takes time, but for all past releases we've been using the plugin from master as soon as we could build it and had very few issues since we only use it for Java language support. We'd be very happy with a less battle-tested release channel that would be updated to support new releases sooner than stable.

Hi @jin is the custom release channel something that's available now or just something planned for the future?

Just another point of feedback. Now that 2019.3 is out, some folks on the team I work with are starting to lose patience with being held back on older versions of IntelliJ because of incompatibilities between newer versions of IntelliJ and this plugin. Is there any way I can contribute to moving this forward? What still needs to be done?

Sorry for the lack of updates, 2019.2 support is expected to arrive early next week.

Hi @jin is the custom release channel something that's available now or just something planned for the future?

This is planned for the (near) future.

Plugin supporting 2019.2.x has been approved and is now on the plugin repository: https://plugins.jetbrains.com/plugin/8609-bazel/update/68015

Thanks!

Still missing support for CLion 2019.2 :(

Was this page helpful?
0 / 5 - 0 ratings