intellij-platform-gradle-plugin
intellij-platform-gradle-plugin copied to clipboard
run with plugin not compatible with target Idea
If compile targeting 192:
localPath '...\\Toolbox\\apps\\IDEA-U\\ch-1\\192.7142.36'
But running 201 instance:
task runIC_201(type: RunIdeTask){ ideDirectory '...\\Toolbox\\apps\\IDEA-C\\ch-0\\201.7223.91' }
With plugin compatible with 201 only:
plugins += 'PsiViewer:201-SNAPSHOT'
I'm getting:
A problem occurred configuring root project 'jetbrains-plugin'.
Plugin PsiViewer:201-SNAPSHOT is not compatible to IU-192.7142.36
So, how could I keep target Idea SDK 192 (to avoid occasionally use new APIs) and run Idea 201 with PsiViewer? I.e. is there a way to specify that plugin is needed for runIdeTask instance only and should not be checked against target Idea?
PS It's possible to just copy PsiViewer jar file to sandbox after prepareSandbox task, but that's quite a dirty way.
I think it’s not possible right now. :(
What’s your entire setup? Are you running debug IDE in both 192 and 201 versions or 201 only? Build is always against 192? Do you use CI?
When I was developing Go plugin, we usually had different branches for each major intellij release and build them against different IDE versions on the CI.
I’ll consider adding plugins to runIdeTask, probably it’s a good way around that but I’m not sure as runIde is only about runtime, as plugin-dependencies also participate in building.
Somehow related to #115.
Build is always against 192 (https://youtrack.jetbrains.com/issue/IJSDK-825). Run against whole range 192 - 201 No CI for now. No human resources to support few branches for each Idea major release. :( See build.gradle for details if needed: https://github.com/DeepCodeAI/jetbrains-plugin/blob/master/build.gradle
Ok, for now will just always run 192 with PsiViewer in case I need to see Psi tree. "adding plugins to runIdeTask" - will be perfect solution for such cases. And those plugins should not participate in building, just been presented at runtime. Right now that could be manually emulated by pre-downloading needed jars and copy them into sandbox (after it's renewal step). Would be nice to have that functionality built in.