RFR 8209064: Make intellij support more robust after changes for 2018.2

Maurizio Cimadamore maurizio.cimadamore at oracle.com
Mon Aug 27 14:07:45 UTC 2018

As I was about to push this, I realize there was a minor nit with the 
way in which build.xml files found some classes inside the generated 
.idea folder - that is, the path to this folder was defined in a 
relative way from the location of the script file.

A more robust way to get there is to setup an idea.dir ant variable 
which is dynamically populated by the IDE with the known location of the 
project IML file.

The only files touched were the two project build.xml files, as well as 
the idea ant.xml files.




On 23/08/18 14:21, Maurizio Cimadamore wrote:
> On 21/08/18 10:31, Magnus Ihse Bursie wrote:
>> Hi Maurizio!
>> Even if this only incidentally relates to the build, please always 
>> include build-dev when making changes in the "make" directory.
> I will - thanks
>> As far as I can understand, your changes looks good. One question: 
>> the build.xml was previously stored as a "template", and copied to 
>> the output directory. Now it's left in the source tree. I assume that 
>> there was no actual transformations or changes made to the template 
>> before? So that the scripts do not modify the source tree version, 
>> that is.
> You are correct - the script is not meant to be modified; customized 
> properties are injected by the runtime environment - such properties 
> are defined in the ant.xml file and that is indeed a template file (so 
> it can be customized).
> Thanks
> Maurizio
>> /Magnus
>> On 2018-08-07 13:21, Maurizio Cimadamore wrote:
>>> Hi,
>>> last week I submitted an 'emergency' patch to fix intellij project 
>>> support after 2018.2 changes. The goal of these changes was to move 
>>> the build.xml ant file out of the .idea folder, as the IDE no longer 
>>> supported DOM indexing in such folders (as a result of 
>>> https://youtrack.jetbrains.com/issue/IDEA-189915). As a workaround, 
>>> I tweaked the scripts to copy build.xml in the build folder.
>>> Thinking more about this issue, there's a more robust fix possible, 
>>> which doesn't involve moving files to the build folder (which could 
>>> be potentially unreliable, depending on how people build the JDK). 
>>> In fact, the best solution is to leave build.xml where it is, and 
>>> fix the remaining configuration files to point at it. This allows to 
>>> revert all changes in the scripts that set up the project 
>>> configuration (bin/idea.sh for JDK, and make/langtools/build.xml for 
>>> langtools).
>>> For the langtools project a bit more changes were necessary, given 
>>> that in langtools we did not have a 'template' folder - and all 
>>> intellij files were dumped onto the same path. So I had to move the 
>>> configuration langtools files (all but build.xml) under a new 
>>> template folder (located under make/langtools/intellij/make) and 
>>> place build.xml outside it. Then tweak the build.xml script to work 
>>> off this new template folder. These are all small conceptual 
>>> changes, but the impact on the webrev is quite biggie (because of 
>>> file renaming etc.).
>>> I also took the chance to fix some issues with the JDK project ANT 
>>> configuration (see changes in make/idea/template/workspace.xml), as 
>>> the last changes did not update the location of the ant file used 
>>> here - as a result no ant target entries were showing up under the 
>>> Build menu.
>>> Webrev here:
>>> http://cr.openjdk.java.net/~mcimadamore/8209064/
>>> Cheers
>>> Maurizio

More information about the compiler-dev mailing list