small changes, long build time
erik.joelsson at oracle.com
Mon May 2 15:31:40 UTC 2016
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
>>>> 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.
>>> 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?
More information about the build-dev