Incompatible OpenApi/Plugin (Git4Idea) Changes, Multiple Plugin Versions?


for the Heroku Plugin I need to use the Git4Idea plugin for the deployment to Heroku, unfortunately its API changed several times, by now I have been able to keep it all in one plugin and handling the changes with Class-checks and different strategies. This doesn't work any longer.

So it is necessary to release different plugins with different API (or rather Git4Idea) version dependencies

#1 what is the best way to determine the correct since-build / until-build versions for the API changes? The commits in the idea-community github repo are not really related to build numbers? (e.g. this one)
#2 the build-number-ranges wiki page is out of date?
#3 what is the best way for the plugin version in dependency of the build-version? Should it just continue to increment so that I have to release 3 plugin version increments to cope for the 3 openapi build versions? Or would it be more sensible to have build numbers of the plugin that correspond to the Idea build-versions and minor numbers for the increments? (like 8.1 , 10.1, 11.1) ? Also with regard of the selection mechanism of the plugin manager.
#4 can I depend on a version of a plugin? The <depends> tag has no version information.

This is my current setup.


    <idea-version since-build="117.117"/>
    <vendor>Michael Hunger</vendor>

Thanks alot

Comment actions Permalink

Hello Michael,

#1 Git repo is tagged for every release, so you can find out corresponding releases where commits are included. Note: this will only be needed if you want to support EAP versions, usually it will be enough to support official releases where build numbers are easily available from Wiki.
#2 will be updated, thanks
#3 if you want to support 3 incompatible releases, you will need to release 3 different plugin versions
#4 no, this is not possible

Hope this helps,

Comment actions Permalink


could you tell me (for that commit) how to derive the correct build version? There are 6000 tags on the idea repository.

If I just look at the commit time, the next tag is:


d08eeca088 · Uploaded a month ago.

But this is not really related to the version when it starts breaking, at least with 117.277 it still works.


Comment actions Permalink

Hello Michael,  do find out all affected/nearest tags you can follow instructions from here:  Yann


Please sign in to leave a comment.