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.

Ouch!

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 everything?

David

-Alan

Reply via email to