RFR: JDK-8244093 Move all IDE support into coherent structure in make directory

Maurizio Cimadamore maurizio.cimadamore at oracle.com
Tue May 19 10:41:30 UTC 2020


The move looks good - but afaik, Netbeans also used to have some 
langtools-specific project files.

There's also the topic of where to put source files that are in support 
of the IDE. For instance there are a couple of Ant task which used to 
support netbeans, and another to support Intellij (to provide better 
logging). These still live (I think) in make/langtools under proposed 
refactoring. Is that what we want?

Overall, it seems to me that the big win of this refactoring is to put 
all JDK templates in one place (e.g. make/ide) which will make it more 
discoverable for programmers. I'm not super convinced that we need to do 
anything for not-so-commonly used projects such as langtools - which are 
effectively used by selected developers. Applying any refactoring there 
seems to be in the land of diminishing returns, especially with the 
prospect that, one day, such projects will be rendered useless by an 
improved makefile support for (incrementally) building single components.

Maurizio

On 18/05/2020 15:50, Magnus Ihse Bursie wrote:
> Hi all,
>
> Sorry for the long time to follow up on this patch.
>
> From the reviewers' feedback, I have now restored all files to 
> make/langtools, except for those in the netbeans and intellij 
> directories. This also meant that in the make/ide/idea/langtools 
> directory there were now only an "intellij" directory. This seemed 
> awkward, so I moved everything up one level, effectively scrapping the 
> "intellij" directory. Paths has been changed accordingly in 
> make/langtools and make/ide/*/langtools.
>
> I also removed make/ide/netbeans/jdk. No-one seemed to be countering 
> Jan's claim that it's unused. Instead, we got testimony on how 
> Netbeans can be setup without any specific support from the build 
> system. I think this excellent information should be properly 
> documented. I've created JDK-8245210 for this, and I hope I can enroll 
> the help of Jan and Brad to get this correctly documented.
>
> No other changes, outside the langtools files and 
> make/ide/netbeans/jdk has been made, compared to the previous version.
>
> /Magnus
>
> On 2020-04-29 13:06, Jan Lahoda wrote:
>> I am not sure if anyone is still using make/jdk/netbeans. Apache 
>> NetBeans does not (should not) need these config files, it supports 
>> OpenJDK modules out of the box (with some tweaks/dependencies on 
>> make/langtools/** to speed up langtools build).
>>
>> As Maurizio, there may be some need to move the "fast" langtools 
>> build more carefully. I'll try to take a look later, unless some else 
>> wants to. Although, a little independently, I wonder somewhat if 
>> there's an opportunity to further speed up the ordinary make build in 
>> incremental environment to reduce the need for a "fast" langtools 
>> build. E.g. by enhancing the current Depend javac plugin, and 
>> possibly optionally disabling the interim langtools build. This could 
>> improve incremental build behavior for other modules (like java.base 
>> or java.desktop) as well.
>>
>> Jan
>>
>> On 29. 04. 20 12:36, Magnus Ihse Bursie wrote:
>>> The IDE support in OpenJDK unfortunately leaves a lot to be desired. 
>>> There have been a garden variety of attempt to support a specific 
>>> IDE for a specific part of the code base, cluttered all over the 
>>> code base.
>>>
>>> This patch is a first attempt go get one ring, eh..., structure, to 
>>> rule them all.
>>>
>>> I have moved all IDE project creators into the following structure:
>>>
>>> make/ide/<ide>/<part of the code>
>>>
>>> where <part of the code> is one of currently "hotspot", "langtools" 
>>> or "jdk", and <ide> is one of "vscode", "idea", "netbeans" or 
>>> "vistualstudio".
>>>
>>> This will not magically improve IDE support, but will at least make 
>>> it clearer what we have and what we are missing.
>>>
>>> Ownership of the IDE support is notoriously vague. I've cc:ed a 
>>> bunch of people who has shown interest and/or submitted fixes to 
>>> some of the IDE projects according to the hg history. I'd appreciate 
>>> it if anyone who is interested in a particular case for IDE support 
>>> can verify that it still works. I've tried my best to make sure all 
>>> targets can run without errors, but I cannot verify that the IDE 
>>> environment themselves are correct.
>>>
>>> If you know about an IDE project that is no longer relevant, and 
>>> should be removed instead of shuffled around, please let me know!
>>>
>>> Bug: https://bugs.openjdk.java.net/browse/JDK-8244093
>>> WebRev: 
>>> http://cr.openjdk.java.net/~ihse/JDK-8244093-move-ide-support/webrev.01
>>>
>>> /Magnus
>



More information about the build-dev mailing list