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

Reply via email to