small changes, long build time

Alan Bateman Alan.Bateman at oracle.com
Sun May 1 06:22:40 UTC 2016



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.


>
> 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.

-Alan



More information about the build-dev mailing list