question on jigsaw build

Chris Hegarty chris.hegarty at oracle.com
Tue Feb 9 10:12:14 UTC 2016


Magnus,

Thank you for your reply.

On 09/02/16 09:57, Magnus Ihse Bursie wrote:
> On 2016-01-25 13:43, Maurizio Cimadamore wrote:
>> Hi,
>> the current build system in JDK 9 has a way to recover all the source
>> dirs for a given module, by doing something like this:
>>
>> $(call ALL_SRC_DIRS,$(mod))
>>
>> That is, the build system exports a function that can be passed a
>> module name and will return all the source roots for the module with
>> that name.
>>
>> This is an extremely helpful piece of functionality when building
>> things like IDE support - as one can leverage the knowledge of the
>> build system in order to put together an IDE projects with the right
>> paths in it, regardless of the OS and ARCH (details which are all
>> taken care of by the build itself).
>>
>> I see that this functionality is now removed from the current jigsaw
>> build - which instead declares a sequence of (dynamically defined)
>> targets to compile a module with name xyz; as a result, the variables
>> containing the source roots for xyz are not exported anymore, thus
>> severely impacting usability from 3rd party build tools.
>>
>> What is the plan in this direction? Is there any talks about having
>> the build system export a pseudo API for querying variables (source
>> roots, generated sources, output dirs) for a given module w/o
>> compiling them?
>
> We can surely expose an API if there is such a need. However, it needs
> to be driven by an explicit need.

+1.   With recent build changes the JDK IDEA project is dead, even
with JDK 9. We need to get this up and running again, as quickly as
possible. I know there are, at least, double digit numbers of developers 
using the  project.

> Is there anything else you'd need
> apart from a list of all source roots for a given module?

For now, this is the main requirement ( I am not aware of others ).
Once we get this resolved, the plan is to get the IDEA project pushed
to the JDK 9 mainline where it can be evolved and maintained, as
appropriate.

-Chris.



More information about the build-dev mailing list