Supporting more versions of the same IDE

classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

Supporting more versions of the same IDE

Radim Kubacki
Hi,

there are a few improvements in IntelliJ's last releases and our current integration does not know how to use them: ability to mark content roots as generated, distinction between source and resource root and possibly some others.

Similarly we can add web facets to generated project (https://github.com/gradle/gradle/pull/139) but this functionality is only available in Ultimate edition so it is not clear to me what happens if project with this facet is opened in Community edition.

I can update our generator to take advantage of these new features but do not want to throw overboard users with older IJ's version. My current plan is to add String property 'version' to IdeaModel and control what is generated into .iml/.ipr files based on this. A project can default it to some value and users can override it from some locally defined property if they wish. It is not perfect given that there is AndroidStudio spin-off. Still it seems to me sufficient. The next step will be to expose these information in Tooling API - I just need to find an API working for old and new versions to do it.

Comments? Objections?

-Radim
Reply | Threaded
Open this post in threaded view
|

Re: Supporting more versions of the same IDE

Luke Daley-2


On 5 September 2014 at 5:43:15 pm, Radim Kubacki ([hidden email]) wrote:

Hi,

there are a few improvements in IntelliJ's last releases and our current integration does not know how to use them: ability to mark content roots as generated, distinction between source and resource root and possibly some others.

Similarly we can add web facets to generated project (https://github.com/gradle/gradle/pull/139) but this functionality is only available in Ultimate edition so it is not clear to me what happens if project with this facet is opened in Community edition.

I can update our generator to take advantage of these new features but do not want to throw overboard users with older IJ's version. My current plan is to add String property 'version' to IdeaModel and control what is generated into .iml/.ipr files based on this. A project can default it to some value and users can override it from some locally defined property if they wish. It is not perfect given that there is AndroidStudio spin-off. Still it seems to me sufficient. The next step will be to expose these information in Tooling API - I just need to find an API working for old and new versions to do it.

Comments? Objections?

Do we know that older versions of IDEA blow up when they encounter this new metadata?

Reply | Threaded
Open this post in threaded view
|

Re: Supporting more versions of the same IDE

Radim Kubacki
I will check (old/new version, community/ultimate). I am afraid that even if it does not blow for some cases it can cause havoc in others. I can ask JetBrains about this too.


On Fri, Sep 5, 2014 at 10:16 AM, Luke Daley <[hidden email]> wrote:


On 5 September 2014 at 5:43:15 pm, Radim Kubacki ([hidden email]) wrote:

Hi,

there are a few improvements in IntelliJ's last releases and our current integration does not know how to use them: ability to mark content roots as generated, distinction between source and resource root and possibly some others.

Similarly we can add web facets to generated project (https://github.com/gradle/gradle/pull/139) but this functionality is only available in Ultimate edition so it is not clear to me what happens if project with this facet is opened in Community edition.

I can update our generator to take advantage of these new features but do not want to throw overboard users with older IJ's version. My current plan is to add String property 'version' to IdeaModel and control what is generated into .iml/.ipr files based on this. A project can default it to some value and users can override it from some locally defined property if they wish. It is not perfect given that there is AndroidStudio spin-off. Still it seems to me sufficient. The next step will be to expose these information in Tooling API - I just need to find an API working for old and new versions to do it.

Comments? Objections?

Do we know that older versions of IDEA blow up when they encounter this new metadata?