camel-tooling / camel-idea-plugin

Apache Camel Intellij IDEA plugin
Apache License 2.0
203 stars 52 forks source link

Support IJ 2020.1 #545

Closed dschulten closed 4 years ago

dschulten commented 4 years ago

The plugin becomes disabled by IJ 2020.1 BETA Build Number 201.6487.11

Please update the IJ Version.

iamsivav commented 4 years ago

Please update the plugin to support the 2020.1 version.

gurpal2000 commented 4 years ago

Just a general question, how does the dev team keep up with the frequent upgrades? And is there something in the intellij ecosystem that actually forces a break each release?

hakuseki commented 4 years ago

How can we contribute? Is this an easy fix normally, just updating a resource with the correct version number or how is it done?

fharms commented 4 years ago

We will be more then happy to get help.

The readme.md explain how you setup the development environment. Next you fork the repo, setup a branch and create pull-request.

In many cases it's easy as just updating the build.gradle file with the new IDEA version. But It's not uncommon jetbrains introduce breaking changes to their API's.

tir. 21. apr. 2020 10.14 skrev Mikael Andersson Wigander < notifications@github.com>:

How can we contribute? Is this an easy fix normally, just updating a resource with the correct version number or how is it done?

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/camel-tooling/camel-idea-plugin/issues/545#issuecomment-617026924, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAISHVKJO6BBU5ZPKK5SFQTRNVIVBANCNFSM4LRFZIZQ .

hakuseki commented 4 years ago

I cloned it and the compilation with latest version of Idea reveals an icon that it’s not present amongst the assets. Something in the UI that I do not really understand. I can push my changes and let others decide if it’s ok or not.

// Mikael Andersson Wigander

21 apr. 2020 kl. 20:53 skrev Flemming Harms notifications@github.com:

 We will be more then happy to get help.

The readme.md explain how you setup the development environment. Next you fork the repo, setup a branch and create pull-request.

In many cases it's easy as just updating the build.gradle file with the new IDEA version. But It's not uncommon jetbrains introduce breaking changes to their API's.

tir. 21. apr. 2020 10.14 skrev Mikael Andersson Wigander < notifications@github.com>:

How can we contribute? Is this an easy fix normally, just updating a resource with the correct version number or how is it done?

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/camel-tooling/camel-idea-plugin/issues/545#issuecomment-617026924, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAISHVKJO6BBU5ZPKK5SFQTRNVIVBANCNFSM4LRFZIZQ .

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub, or unsubscribe.

hakuseki commented 4 years ago

My PR : https://github.com/camel-tooling/camel-idea-plugin/pull/550

fharms commented 4 years ago

@hakuseki the icon you mention, could you share a screenshot of it ?

hakuseki commented 4 years ago

I don’t have it and I can’t find it but the ExpandNode icons was deprecated and I just went with the recommended change for the icon as stated in the class

fharms commented 4 years ago

After building and running the 'runIde' the plugin report this error

java.lang.NoClassDefFoundError: com/intellij/lang/java/JavaLanguage
    at java.base/java.lang.Class.getDeclaredConstructors0(Native Method)
    at java.base/java.lang.Class.privateGetDeclaredConstructors(Class.java:3137)
    at java.base/java.lang.Class.getDeclaredConstructors(Class.java:2357)
    at com.intellij.serviceContainer.ConstructorInjectionKt.getSortedMatchingConstructors(constructorInjection.kt:195)
    at com.intellij.serviceContainer.ConstructorInjectionKt.instantiateUsingPicoContainer(constructorInjection.kt:28)
    at com.intellij.serviceContainer.ComponentManagerImpl.instantiateClassWithConstructorInjection(ComponentManagerImpl.kt:645)
    at com.intellij.serviceContainer.ServiceComponentAdapter.createAndInitialize(ServiceComponentAdapter.kt:54)
    at com.intellij.serviceContainer.ServiceComponentAdapter.doCreateInstance(ServiceComponentAdapter.kt:41)
    at com.intellij.serviceContainer.BaseComponentAdapter.getInstanceUncached(BaseComponentAdapter.kt:115)
    at com.intellij.serviceContainer.BaseComponentAdapter.getInstance(BaseComponentAdapter.kt:69)
    at com.intellij.serviceContainer.ComponentManagerImpl.doGetService(ComponentManagerImpl.kt:396)
    at com.intellij.serviceContainer.ComponentManagerImpl.getService(ComponentManagerImpl.kt:379)
    at com.intellij.openapi.components.ServiceManager.getService(ServiceManager.java:20)
    at com.github.cameltooling.idea.service.CamelService.getIdeaUtils(CamelService.java:87)
    at com.github.cameltooling.idea.service.CamelService.addCustomCamelComponentsFromDependency(CamelService.java:445)
    at com.github.cameltooling.idea.service.CamelService.scanForCamelDependencies(CamelService.java:375)
    at com.github.cameltooling.idea.CamelProjectComponent$2.moduleAdded(CamelProjectComponent.java:109)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    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.messages.impl.MessageBusImpl.invokeListener(MessageBusImpl.java:554)
    at com.intellij.util.messages.impl.MessageBusConnectionImpl.deliverMessage(MessageBusConnectionImpl.java:143)
    at com.intellij.util.messages.impl.MessageBusImpl.doPumpMessages(MessageBusImpl.java:472)
    at com.intellij.util.messages.impl.MessageBusImpl.pumpWaitingBuses(MessageBusImpl.java:432)
    at com.intellij.util.messages.impl.MessageBusImpl.pumpMessages(MessageBusImpl.java:420)
    at com.intellij.util.messages.impl.MessageBusImpl.sendMessage(MessageBusImpl.java:404)
    at com.intellij.util.messages.impl.MessageBusImpl.lambda$createTopicHandler$3(MessageBusImpl.java:243)
    at com.sun.proxy.$Proxy62.moduleAdded(Unknown Source)
    at com.intellij.openapi.module.impl.ModuleManagerImpl.fireModuleAdded(ModuleManagerImpl.java:416)
    at com.intellij.openapi.module.impl.ModuleManagerImpl.lambda$fireModuleAddedInWriteAction$6(ModuleManagerImpl.java:691)
    at com.intellij.openapi.application.impl.ApplicationImpl.runWriteAction(ApplicationImpl.java:976)
    at com.intellij.openapi.module.impl.ModuleManagerImpl.fireModuleAddedInWriteAction(ModuleManagerImpl.java:688)
    at com.intellij.openapi.module.impl.ModuleManagerComponent.fireModulesAdded(ModuleManagerComponent.java:139)
    at com.intellij.openapi.module.impl.ModuleManagerImpl.projectOpened(ModuleManagerImpl.java:99)
    at com.intellij.openapi.project.impl.ProjectManagerImpl.lambda$null$13(ProjectManagerImpl.java:790)
    at com.intellij.ide.startup.impl.StartupManagerImpl.runActivity(StartupManagerImpl.java:458)
    at com.intellij.openapi.project.impl.ProjectManagerImpl.lambda$fireProjectOpened$14(ProjectManagerImpl.java:788)
    at com.intellij.serviceContainer.ContainerUtilKt.processProjectComponents(containerUtil.kt:31)
    at com.intellij.openapi.project.impl.ProjectManagerImpl.fireProjectOpened(ProjectManagerImpl.java:787)
    at com.intellij.openapi.project.impl.ProjectManagerImpl.lambda$doLoadProject$6(ProjectManagerImpl.java:455)
    at com.intellij.openapi.application.TransactionGuardImpl$2.run(TransactionGuardImpl.java:201)
    at com.intellij.openapi.application.impl.ApplicationImpl.runIntendedWriteActionOnCurrentThread(ApplicationImpl.java:831)
    at com.intellij.openapi.application.impl.ApplicationImpl.lambda$invokeAndWait$8(ApplicationImpl.java:480)
    at com.intellij.openapi.application.impl.LaterInvocator$1.run(LaterInvocator.java:124)
    at com.intellij.openapi.application.impl.FlushQueue.doRun(FlushQueue.java:80)
    at com.intellij.openapi.application.impl.FlushQueue.runNextEvent(FlushQueue.java:128)
    at com.intellij.openapi.application.impl.FlushQueue.flushNow(FlushQueue.java:46)
    at com.intellij.openapi.application.impl.FlushQueue$FlushNow.run(FlushQueue.java:184)
    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:974)
    at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:847)
    at com.intellij.ide.IdeEventQueue.lambda$null$8(IdeEventQueue.java:449)
    at com.intellij.openapi.progress.impl.CoreProgressManager.computePrioritized(CoreProgressManager.java:728)
    at com.intellij.ide.IdeEventQueue.lambda$dispatchEvent$9(IdeEventQueue.java:448)
    at com.intellij.openapi.application.impl.ApplicationImpl.runIntendedWriteActionOnCurrentThread(ApplicationImpl.java:831)
    at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:496)
    at com.intellij.ide.IdeEventQueue.pumpEventsForHierarchy(IdeEventQueue.java:1030)
    at com.intellij.openapi.progress.util.ProgressWindow.pumpEventsForHierarchy(ProgressWindow.java:199)
    at com.intellij.openapi.progress.util.ProgressWindow.lambda$startBlocking$3(ProgressWindow.java:189)
    at com.intellij.openapi.application.impl.ApplicationImpl.runUnlockingIntendedWrite(ApplicationImpl.java:857)
    at com.intellij.openapi.progress.util.ProgressWindow.startBlocking(ProgressWindow.java:188)
    at com.intellij.openapi.progress.impl.ProgressRunner.lambda$legacyExec$6(ProgressRunner.java:302)
    at java.base/java.util.concurrent.CompletableFuture.uniAcceptNow(CompletableFuture.java:753)
    at java.base/java.util.concurrent.CompletableFuture.uniAcceptStage(CompletableFuture.java:731)
    at java.base/java.util.concurrent.CompletableFuture.thenAccept(CompletableFuture.java:2108)
    at com.intellij.openapi.progress.impl.ProgressRunner.legacyExec(ProgressRunner.java:300)
    at com.intellij.openapi.progress.impl.ProgressRunner.submit(ProgressRunner.java:248)
    at com.intellij.openapi.progress.impl.ProgressRunner.submitAndGet(ProgressRunner.java:169)
    at com.intellij.openapi.application.impl.ApplicationImpl.runProcessWithProgressSynchronously(ApplicationImpl.java:426)
    at com.intellij.openapi.progress.impl.CoreProgressManager.runProcessWithProgressSynchronously(CoreProgressManager.java:492)
    at com.intellij.openapi.progress.impl.ProgressManagerImpl.runProcessWithProgressSynchronously(ProgressManagerImpl.java:84)
    at com.intellij.platform.ProjectUiFrameAllocator$run$1.run(ProjectFrameAllocator.kt:85)
    at com.intellij.openapi.application.TransactionGuardImpl$2.run(TransactionGuardImpl.java:201)
    at com.intellij.openapi.application.impl.ApplicationImpl.runIntendedWriteActionOnCurrentThread(ApplicationImpl.java:831)
    at com.intellij.openapi.application.impl.ApplicationImpl.lambda$invokeAndWait$8(ApplicationImpl.java:480)
    at com.intellij.openapi.application.impl.LaterInvocator$1.run(LaterInvocator.java:124)
    at com.intellij.openapi.application.impl.FlushQueue.doRun(FlushQueue.java:80)
    at com.intellij.openapi.application.impl.FlushQueue.runNextEvent(FlushQueue.java:128)
    at com.intellij.openapi.application.impl.FlushQueue.flushNow(FlushQueue.java:46)
    at com.intellij.openapi.application.impl.FlushQueue$FlushNow.run(FlushQueue.java:184)
    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:974)
    at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:847)
    at com.intellij.ide.IdeEventQueue.lambda$null$8(IdeEventQueue.java:449)
    at com.intellij.openapi.progress.impl.CoreProgressManager.computePrioritized(CoreProgressManager.java:739)
    at com.intellij.ide.IdeEventQueue.lambda$dispatchEvent$9(IdeEventQueue.java:448)
    at com.intellij.openapi.application.impl.ApplicationImpl.runIntendedWriteActionOnCurrentThread(ApplicationImpl.java:831)
    at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:496)
    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)
Caused by: java.lang.ClassNotFoundException: com.intellij.lang.java.JavaLanguage PluginClassLoader[org.apache.camel, 0.6.4-SNAPSHOT] com.intellij.ide.plugins.cl.PluginClassLoader@6cf1df6e
    at com.intellij.ide.plugins.cl.PluginClassLoader.loadClass(PluginClassLoader.java:115)
    at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521)
    ... 107 more

IntelliJ IDEA 2020.1 (Community Edition) Build #IC-201.6668.121, built on April 8, 2020 Runtime version: 11.0.6+8-b765.25 x86_64 VM: OpenJDK 64-Bit Server VM by JetBrains s.r.o macOS 10.15.4 GC: G1 Young Generation, G1 Old Generation Memory: 512M Cores: 12 Non-Bundled Plugins: org.apache.camel

@hakuseki have you seen this on your environment ?

hakuseki commented 4 years ago

Yes, I see them as well but have no fix

fharms commented 4 years ago

Okay, the plugin stopped working on my machine. Before we can release, we need a fix for this issue

hakuseki commented 4 years ago

Agree. Do you have any ideas? When I debugged it looked like it stopped when trying to use an "indicator".

fharms commented 4 years ago

Not at this point, but I will look into it later today

fharms commented 4 years ago

It seems we was missing a dependency in plugin.xml

<depends>com.intellij.java</depends>

https://intellij-support.jetbrains.com/hc/en-us/community/posts/360008172640-After-upgrading-to-IDEA-2020-1-it-report-java-lang-NoClassDefFoundError-com-intellij-lang-java-JavaLanguage-?page=1#community_comment_360001616539

hakuseki commented 4 years ago

Great work, sorry I missed that!

M

fharms commented 4 years ago

It will properly have happen for me too. Could you @hakuseki run another test with the new fix #551

hakuseki commented 4 years ago

I did and it worked now, should I push my fork again or?

fharms commented 4 years ago

No that's not necessary.

I will do some more testing today, and then I hope to release this afternoon.

Thanks for the contribution @hakuseki 👍