small changes, long build time

David Holmes david.holmes at
Mon May 2 02:14:35 UTC 2016

On 1/05/2016 4:22 PM, Alan Bateman wrote:
> On 01/05/2016 05:21, David Holmes wrote:
>> The native code - java.c. Can't see any reason for jmods to be
>> recreated every time I recompile that!
> The packaged modules contain the tools/launcher for that module. So if
> you touch java.c then the launchers for every tool are re-generated and
> thus the packaged modules needs to be re-generated too.


> In jdk9/dev then anything that transitively depends on any of these
> modules needs its packaged module re-created too because the packaged
> module has hashes of its dependences to avoid linking modules from
> different JDK builds.  It's slightly different in the refresh that will
> be in jdk9/dev in a few days. In the refresh then the hashes are stored
> in java.base and so the only additional packaged module that needs to be
> re-created is java.base.jmod.

Sounds somewhat better.

>> Sure. But they shouldn't need to be recreated unless something
>> relating to their content has changed.
> jlink isn't incremental so if you are using an "images" build then the
> runtime images will be re-created whenever anything has changed.

So jlink basically copies what is needed for a given configuration into 
the "image" destination? So where previously this was handled in the 
makefile and only what had changed needed copying, jlink will re-copy 


> -Alan

More information about the build-dev mailing list