JetBrains / js-graphql-intellij-plugin

GraphQL language support for WebStorm, IntelliJ IDEA and other IDEs based on the IntelliJ Platform.
https://jimkyndemeyer.github.io/js-graphql-intellij-plugin/
MIT License
879 stars 97 forks source link

Compatibility with 2022.1 EAP #593

Closed juergenzimmermann closed 2 years ago

juergenzimmermann commented 2 years ago

Describe the bug 3.1.2 cannot be installed with IJ 2022.1 EAP

To Reproduce Install IJ 2022.1 EAP, and then try to install 3.1.2.

Expected behavior It would be nice if 3.1.2 can also be installed with IJ 2022.1

Version and Environment Details Operation system: Windows 11 Enterprise 21H2 IDE name and version: IntelliJ 2022.1 EAP Plugin version: 3.1.2

tamacti commented 2 years ago

I have a similar problem with WebStorm 2022.1 EAP stacktrace.txt:

java.lang.NoSuchMethodError: 'void com.intellij.lang.javascript.EmbeddedJsonSchemaFileProvider.<init>(java.lang.String, java.lang.Class, java.lang.String, java.lang.String[])'
    at com.intellij.lang.jsgraphql.ide.project.graphqlconfig.javascript.GraphQLConfigJsonSchemaProvider.getProviders(GraphQLConfigJsonSchemaProvider.java:27)
    at com.jetbrains.jsonSchema.impl.JsonSchemaServiceImpl$JsonSchemaProviderFactories.getProvidersFromFactories(JsonSchemaServiceImpl.java:673)
    at com.jetbrains.jsonSchema.impl.JsonSchemaServiceImpl$JsonSchemaProviderFactories.lambda$getDumbAwareProvidersAndUpdateRestWhenSmart$0(JsonSchemaServiceImpl.java:656)
    at com.intellij.openapi.project.DumbService.lambda$runReadActionInSmartMode$1(DumbService.java:157)
    at com.intellij.openapi.application.impl.ApplicationImpl.runReadAction(ApplicationImpl.java:933)
    at com.intellij.openapi.application.ReadAction.compute(ReadAction.java:68)
    at com.intellij.openapi.project.DumbService.runReadActionInSmartMode(DumbService.java:150)
    at com.jetbrains.jsonSchema.impl.JsonSchemaServiceImpl$JsonSchemaProviderFactories.lambda$getDumbAwareProvidersAndUpdateRestWhenSmart$1(JsonSchemaServiceImpl.java:654)
    at com.intellij.openapi.application.impl.ApplicationImpl$1.run(ApplicationImpl.java:295)
    at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
    at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
    at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
    at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
    at java.base/java.util.concurrent.Executors$PrivilegedThreadFactory$1$1.run(Executors.java:668)
    at java.base/java.util.concurrent.Executors$PrivilegedThreadFactory$1$1.run(Executors.java:665)
    at java.base/java.security.AccessController.doPrivileged(Native Method)
    at java.base/java.util.concurrent.Executors$PrivilegedThreadFactory$1.run(Executors.java:665)
    at java.base/java.lang.Thread.run(Thread.java:829)

induced.txt:

Following exceptions happened soon after this one, most probably they are induced.

2022-01-28T17:10:59.120
Calling `ClassLoader#getResource` with leading slash doesn't work; strip
com.intellij.diagnostic.PluginException: /META-INF/graphql specification schema.graphql [Plugin: com.intellij.lang.jsgraphql]
  at com.intellij.ide.plugins.cl.PluginClassLoader.doFindResource(PluginClassLoader.java:529)
  at com.intellij.ide.plugins.cl.PluginClassLoader.getResourceAsStream(PluginClassLoader.java:499)
  at com.intellij.lang.jsgraphql.ide.project.GraphQLPsiSearchHelper.getGraphQLPsiFileFromResources(GraphQLPsiSearchHelper.java:380)
  at com.intellij.lang.jsgraphql.ide.project.GraphQLPsiSearchHelper.getBuiltInSchema(GraphQLPsiSearchHelper.java:356)
  at com.intellij.lang.jsgraphql.ide.project.GraphQLPsiSearchHelper.<init>(GraphQLPsiSearchHelper.java:103)
  at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
  at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
  at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
  at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:490)
  at com.intellij.serviceContainer.ConstructorInjectionKt.instantiateUsingPicoContainer(constructorInjection.kt:52)
  at com.intellij.serviceContainer.ComponentManagerImpl.instantiateClassWithConstructorInjection(ComponentManagerImpl.kt:891)
  at com.intellij.serviceContainer.ServiceComponentAdapter.createAndInitialize(ServiceComponentAdapter.kt:51)
  at com.intellij.serviceContainer.ServiceComponentAdapter.doCreateInstance(ServiceComponentAdapter.kt:41)
  at com.intellij.serviceContainer.BaseComponentAdapter.getInstanceUncached(BaseComponentAdapter.kt:119)
  at com.intellij.serviceContainer.BaseComponentAdapter.getInstance(BaseComponentAdapter.kt:73)
  at com.intellij.serviceContainer.BaseComponentAdapter.getInstance$default(BaseComponentAdapter.kt:66)
  at com.intellij.serviceContainer.ComponentManagerImpl.doGetService(ComponentManagerImpl.kt:610)
  at com.intellij.serviceContainer.ComponentManagerImpl.getService(ComponentManagerImpl.kt:584)
  at com.intellij.openapi.client.ClientAwareComponentManager.getFromSelfOrCurrentSession(ClientAwareComponentManager.kt:37)
  at com.intellij.openapi.client.ClientAwareComponentManager.getService(ClientAwareComponentManager.kt:22)
  at com.intellij.openapi.components.ServiceManager.getService(ServiceManager.java:27)
  at com.intellij.lang.jsgraphql.ide.project.GraphQLPsiSearchHelper.getService(GraphQLPsiSearchHelper.java:86)
  at com.intellij.lang.jsgraphql.schema.SchemaIDLTypeDefinitionRegistry.<init>(SchemaIDLTypeDefinitionRegistry.java:77)
  at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
  at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
  at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
  at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:490)
  at com.intellij.serviceContainer.ConstructorInjectionKt.instantiateUsingPicoContainer(constructorInjection.kt:52)
  at com.intellij.serviceContainer.ComponentManagerImpl.instantiateClassWithConstructorInjection(ComponentManagerImpl.kt:891)
  at com.intellij.serviceContainer.ServiceComponentAdapter.createAndInitialize(ServiceComponentAdapter.kt:51)
  at com.intellij.serviceContainer.ServiceComponentAdapter.access$createAndInitialize(ServiceComponentAdapter.kt:12)
  at com.intellij.serviceContainer.ServiceComponentAdapter$doCreateInstance$1.compute(ServiceComponentAdapter.kt:45)
  at com.intellij.openapi.progress.impl.CoreProgressManager.registerIndicatorAndRun(CoreProgressManager.java:681)
  at com.intellij.openapi.progress.impl.CoreProgressManager.computeUnderProgress(CoreProgressManager.java:629)
  at com.intellij.openapi.progress.impl.CoreProgressManager.computeInNonCancelableSection(CoreProgressManager.java:237)
  at com.intellij.serviceContainer.ServiceComponentAdapter.doCreateInstance(ServiceComponentAdapter.kt:44)
  at com.intellij.serviceContainer.BaseComponentAdapter.getInstanceUncached(BaseComponentAdapter.kt:119)
  at com.intellij.serviceContainer.BaseComponentAdapter.getInstance(BaseComponentAdapter.kt:73)
  at com.intellij.serviceContainer.BaseComponentAdapter.getInstance$default(BaseComponentAdapter.kt:66)
  at com.intellij.serviceContainer.ComponentManagerImpl.doGetService(ComponentManagerImpl.kt:610)
  at com.intellij.serviceContainer.ComponentManagerImpl.getService(ComponentManagerImpl.kt:584)
  at com.intellij.openapi.client.ClientAwareComponentManager.getFromSelfOrCurrentSession(ClientAwareComponentManager.kt:37)
  at com.intellij.openapi.client.ClientAwareComponentManager.getService(ClientAwareComponentManager.kt:22)
  at com.intellij.openapi.components.ServiceManager.getService(ServiceManager.java:27)
  at com.intellij.lang.jsgraphql.schema.SchemaIDLTypeDefinitionRegistry.getService(SchemaIDLTypeDefinitionRegistry.java:68)
  at com.intellij.lang.jsgraphql.schema.GraphQLTypeDefinitionRegistryServiceImpl.lambda$getRegistryWithErrors$0(GraphQLTypeDefinitionRegistryServiceImpl.java:58)
  at java.base/java.util.concurrent.ConcurrentHashMap.computeIfAbsent(ConcurrentHashMap.java:1705)
  at com.intellij.lang.jsgraphql.schema.GraphQLTypeDefinitionRegistryServiceImpl.getRegistryWithErrors(GraphQLTypeDefinitionRegistryServiceImpl.java:57)
  at com.intellij.lang.jsgraphql.schema.GraphQLTypeDefinitionRegistryServiceImpl.lambda$getSchemaWithErrors$1(GraphQLTypeDefinitionRegistryServiceImpl.java:70)
  at java.base/java.util.concurrent.ConcurrentHashMap.computeIfAbsent(ConcurrentHashMap.java:1705)
  at com.intellij.lang.jsgraphql.schema.GraphQLTypeDefinitionRegistryServiceImpl.getSchemaWithErrors(GraphQLTypeDefinitionRegistryServiceImpl.java:69)
  at com.intellij.lang.jsgraphql.ide.GraphQLValidationAnnotator.annotate(GraphQLValidationAnnotator.java:195)
  at com.intellij.codeInsight.daemon.impl.DefaultHighlightVisitor.runAnnotators(DefaultHighlightVisitor.java:131)
  at com.intellij.codeInsight.daemon.impl.DefaultHighlightVisitor.visit(DefaultHighlightVisitor.java:108)
  at com.intellij.codeInsight.daemon.impl.GeneralHighlightingPass.runVisitors(GeneralHighlightingPass.java:344)
  at com.intellij.codeInsight.daemon.impl.GeneralHighlightingPass.lambda$collectHighlights$7(GeneralHighlightingPass.java:277)
  at com.intellij.codeInsight.daemon.impl.GeneralHighlightingPass.analyzeByVisitors(GeneralHighlightingPass.java:303)
  at com.intellij.codeInsight.daemon.impl.GeneralHighlightingPass.lambda$analyzeByVisitors$8(GeneralHighlightingPass.java:306)
  at com.intellij.lang.jsgraphql.v1.ide.editor.JSGraphQLQueryContextHighlightVisitor.analyze(JSGraphQLQueryContextHighlightVisitor.java:108)
  at com.intellij.codeInsight.daemon.impl.GeneralHighlightingPass.analyzeByVisitors(GeneralHighlightingPass.java:306)
  at com.intellij.codeInsight.daemon.impl.GeneralHighlightingPass.lambda$analyzeByVisitors$8(GeneralHighlightingPass.java:306)
  at com.intellij.codeInsight.daemon.impl.DefaultHighlightVisitor.analyze(DefaultHighlightVisitor.java:93)
  at com.intellij.codeInsight.daemon.impl.GeneralHighlightingPass.analyzeByVisitors(GeneralHighlightingPass.java:306)
  at com.intellij.codeInsight.daemon.impl.GeneralHighlightingPass.collectHighlights(GeneralHighlightingPass.java:274)
  at com.intellij.codeInsight.daemon.impl.GeneralHighlightingPass.collectInformationWithProgress(GeneralHighlightingPass.java:219)
  at com.intellij.codeInsight.daemon.impl.ProgressableTextEditorHighlightingPass.doCollectInformation(ProgressableTextEditorHighlightingPass.java:85)
  at com.intellij.codeHighlighting.TextEditorHighlightingPass.collectInformation(TextEditorHighlightingPass.java:56)
  at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.lambda$doRun$1(PassExecutorService.java:414)
  at com.intellij.openapi.application.impl.ApplicationImpl.tryRunReadAction(ApplicationImpl.java:1152)
  at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.lambda$doRun$2(PassExecutorService.java:407)
  at com.intellij.openapi.progress.impl.CoreProgressManager.lambda$executeProcessUnderProgress$12(CoreProgressManager.java:607)
  at com.intellij.openapi.progress.impl.CoreProgressManager.registerIndicatorAndRun(CoreProgressManager.java:681)
  at com.intellij.openapi.progress.impl.CoreProgressManager.computeUnderProgress(CoreProgressManager.java:629)
  at com.intellij.openapi.progress.impl.CoreProgressManager.executeProcessUnderProgress(CoreProgressManager.java:606)
  at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:60)
  at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.doRun(PassExecutorService.java:406)
  at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.lambda$run$0(PassExecutorService.java:382)
  at com.intellij.openapi.application.impl.ReadMostlyRWLock.executeByImpatientReader(ReadMostlyRWLock.java:174)
  at com.intellij.openapi.application.impl.ApplicationImpl.executeByImpatientReader(ApplicationImpl.java:213)
  at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.run(PassExecutorService.java:380)
  at com.intellij.concurrency.JobLauncherImpl$VoidForkJoinTask$1.exec(JobLauncherImpl.java:184)
  at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:290)
  at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1020)
  at java.base/java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1656)
  at java.base/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1594)
  at java.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:183)
vepanimas commented 2 years ago

Thank you for the reports! I'm going to work on this on Monday and prepare a new release on the same day.

juergenzimmermann commented 2 years ago

@vepanimas Plugin version 2.5.0 has no upper boundary for the IJ and can be installed with 2022.1 EAP and it works.

IMHO @tamacti reports something different (aka hijacking my report).

vepanimas commented 2 years ago

@juergenzimmermann hi! The @tamacti's stacktrace is actually from the 2.5.0 version, it's not compatible with the recent EAP. I've uploaded a new update, it should be available after approval by the plugin marketplace team.

jorrit commented 2 years ago

@vepanimas Could you attach a plugin file to the GitHub release so I can install the plugin without waiting for the approval? Thanks!

vepanimas commented 2 years ago

@jorrit hi! Actually, It should be already available from the marketplace, it has a 3.1.3 version.

SimenB commented 2 years ago

Can confirm it fixed the crashing plugin for me (221.3427.89). Thanks!