Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Improve plugin management #1309

Open
hohwille opened this issue Aug 4, 2023 · 2 comments
Open

Improve plugin management #1309

hohwille opened this issue Aug 4, 2023 · 2 comments
Labels
eclipse related to Eclipse IDE enhancement New feature or request intellij IntelliJ IDE from Jet-Brains plugins related to plugins (for Eclipse, Intellij, VSCode, etc.) update related to updating software or the entire devonfw-ide vscode Microsoft visual studio code

Comments

@hohwille
Copy link
Member

hohwille commented Aug 4, 2023

As a devonfw-ide user, I want to have my «IDE» plugins working no matter if I update the «IDE» tool or the devonfw-ide product so that I can continue to work seamlessly.
Here examples for «IDE» are eclipse, intellij, vscode, android-studio.

However, we currently face the following issues:

  • if devonfw-ide is upgraded from a version before 2023.07.001 to that or a later version the plugin directory has been relocated and unless the «IDE» gets updated and reinstalled, the plugins are missing. A workaround is to manually delete software/«IDE» and let devonfw-ide reinstall it - see also issue #1147
  • if devonfw-ide is updating the version of «IDE» it will remove software/«IDE» and reinstall the new version in this place. After that the plugins are installed again. This however, was implemented before issue #1147 and does not remove/uninstall the according plugin or detect if the exact same plugin is already installed. Here we need to understand and distinguish between plugins that have been installed automatically be devonfw-ide and those that have been installed manually. For manually installed plugins the current behavior is fine as those are now preserved and I do not have to reinstall them manually when the «IDE» version changes (what I had to do before issue #1147). However, if the «IDE» version changes in an incompatible way the manually installed plugin can break and in the worst case prevent the start of «IDE». This is not to be changed with this issue and we may only answer to this problem with some documentation but let the user remove the plugin manually in such rare occasion. However, as said before the automatically installation of plugins should be improved such that we first check if the plugin to install is already present and then replace it. I have seen cases with intellij where a new version of the same plugin was then added and as a result Intellij was causing an error with duplicated plugin being present.
@hohwille hohwille added enhancement New feature or request eclipse related to Eclipse IDE intellij IntelliJ IDE from Jet-Brains update related to updating software or the entire devonfw-ide vscode Microsoft visual studio code plugins related to plugins (for Eclipse, Intellij, VSCode, etc.) labels Aug 4, 2023
@hohwille
Copy link
Member Author

Internal error. Please refer to https://jb.gg/ide/critical-startup-errors
 
java.lang.RuntimeException: Cannot invoke (class=InitializeSonarLintOnStartup, method=appFrameCreated, topic=AppLifecycleListener)
    at com.intellij.util.messages.impl.MessageBusImplKt.invokeListener(MessageBusImpl.kt:676)
    at com.intellij.util.messages.impl.MessageBusImplKt.deliverMessage(MessageBusImpl.kt:422)
    at com.intellij.util.messages.impl.MessageBusImplKt.pumpWaiting(MessageBusImpl.kt:401)
    at com.intellij.util.messages.impl.MessageBusImplKt.access$pumpWaiting(MessageBusImpl.kt:1)
    at com.intellij.util.messages.impl.MessagePublisher.invoke(MessageBusImpl.kt:460)
    at jdk.proxy2/jdk.proxy2.$Proxy55.appFrameCreated(Unknown Source)
    at com.intellij.idea.IdeStarter.openProjectIfNeeded$suspendImpl(IdeStarter.kt:89)
    at com.intellij.idea.IdeStarter.openProjectIfNeeded(IdeStarter.kt)
    at com.intellij.idea.IdeStarter$start$2.invokeSuspend(IdeStarter.kt:69)
    at com.intellij.idea.IdeStarter$start$2.invoke(IdeStarter.kt)
    at com.intellij.idea.IdeStarter$start$2.invoke(IdeStarter.kt)
    at kotlinx.coroutines.intrinsics.UndispatchedKt.startUndispatchedOrReturn(Undispatched.kt:78)
    at kotlinx.coroutines.CoroutineScopeKt.coroutineScope(CoroutineScope.kt:264)
    at com.intellij.idea.IdeStarter.start$suspendImpl(IdeStarter.kt:66)
    at com.intellij.idea.IdeStarter.start(IdeStarter.kt)
    at com.intellij.ide.bootstrap.ApplicationLoader.initApplicationImpl(ApplicationLoader.kt:90)
    at com.intellij.ide.bootstrap.ApplicationLoader$initApplicationImpl$1.invokeSuspend(ApplicationLoader.kt)
    at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
    at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106)
    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.IllegalStateException: java.lang.IllegalStateException: Multiple plugins found
    at org.sonarlint.intellij.core.EmbeddedPlugins.findEmbeddedPlugin(EmbeddedPlugins.kt:120)
    at org.sonarlint.intellij.core.EmbeddedPlugins.getEmbeddedPluginsForConnectedMode(EmbeddedPlugins.kt:72)
    at org.sonarlint.intellij.core.BackendService.initialize(BackendService.kt:97)
    at org.sonarlint.intellij.core.BackendService.startOnce(BackendService.kt:80)
    at org.sonarlint.intellij.InitializeSonarLintOnStartup.appFrameCreated(InitializeSonarLintOnStartup.kt:28)
    at com.intellij.util.messages.impl.MessageBusImplKt.invokeMethod(MessageBusImpl.kt:699)
    at com.intellij.util.messages.impl.MessageBusImplKt.invokeListener(MessageBusImpl.kt:663)
    ... 22 more
Caused by: java.lang.IllegalStateException: Multiple plugins found
    at org.sonarlint.intellij.core.EmbeddedPlugins.findEmbeddedPlugin(EmbeddedPlugins.kt:117)
    ... 28 more
 
-----
Your JRE: 17.0.7+7-b1000.6 amd64 (JetBrains s.r.o.)
D:\projects\test\software\intellij\jbr

@hohwille
Copy link
Member Author

A colleague had the same error today with IntelliJ so it is not only a feature request but a bug:

2023-12-15 14:31:30,912 [  28395] SEVERE - #c.i.o.u.ObjectTree - java.lang.IllegalStateException: Multiple plugins found
java.lang.IllegalStateException: java.lang.IllegalStateException: Multiple plugins found

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
eclipse related to Eclipse IDE enhancement New feature or request intellij IntelliJ IDE from Jet-Brains plugins related to plugins (for Eclipse, Intellij, VSCode, etc.) update related to updating software or the entire devonfw-ide vscode Microsoft visual studio code
Projects
Status: 🆕 New
Development

No branches or pull requests

2 participants