small changes, long build time

David Holmes david.holmes at oracle.com
Tue May 3 01:48:14 UTC 2016


Hi Erik,

On 3/05/2016 1:31 AM, Erik Joelsson wrote:
>
>
> On 2016-05-02 17:18, Pete Brunet wrote:
>>
>> On 4/30/16 2:32 AM, David Holmes wrote:
>>> On 30/04/2016 4:18 PM, Alan Bateman wrote:
>>>> On 30/04/2016 00:46, Pete Brunet wrote:
>>>>> Even small edits to code in the jdk source tree result in very long
>>>>> time
>>>>> build times now that jigsaw is merged in.  Is anyone working on trying
>>>>> to improve that?  Is there a workaround?
>>>>>
>>>> When you touch code in a module then you can use "make <module>" to
>>>> just
>>>> rebuild that module. If you use "make" then it will rebuild that module
>>>> and all other modules that directly or transitively depend on it. There
>>>> are some tricks with sjavac but that is essentially it.
>>>>
>>>> So which module are you changing? Is this Windows? Are you re-building
>>>> images each time?
>> My changes are in java.desktop and jdk.accessibility, split between
>> Java, Win, and Mac code.  I typically run "make images".  If I do "make
>> java.desktop" will that recreate files in images/jdk(jre)/bin?  At some
>> point soon I'll also be working in the JavaFX space but I think that's a
>> whole different story.
> "make java.desktop" will only update the files in <outputdir>/jdk/bin,
> the "exploded image". For some usecases that image works well enough and
> saves you some time.
>
> The complete images step is, as has been pointed out by others in this
> thread, quite slow these days. There are some improvements incoming but
> it will likely never be considered fast in comparison.

So what build target will ensure the exploded image is created and up to 
date?

Thanks,
David

> /Erik
>>>> If you are re-building images every time then you'll see it creates the
>>>> jmods (packaged modules too). It is a bit expensive at moment, partly
>>>> because each package module generates hashes of the module artifact of
>>>> each dependency. This has been changed in an upcoming refresh so that
>>>> the hashes are generated and recorded once, this in turn allows for
>>>> more
>>>> concurrency when generating the packaged modules. This may help you,
>>>> but
>>>> hard to say.
>>> Just to add my concerns here, I was changing the launcher and building
>>> images and that caused the jmods to be rebuilt as well. I would not
>>> expect that so do we have missing dependency information in the build?
>>>
>>> David
>>>
>>>> -Alan
>



More information about the build-dev mailing list