RFR: 8156499 Update jlink to support creating images with modules that are packaged as multi-release JARs

Alan Bateman Alan.Bateman at oracle.com
Mon Aug 22 18:08:23 UTC 2016


On 22/08/2016 18:47, Steve Drach wrote:

> :
> If there is a class in a versioned directory that is not in the base directory, then that class must not be public or protected.  It’s not part of the public interface of the multi-release jar.
It's also a modular JAR and so if the class is not in an exported 
package then it's okay for it to be public.


> It exists purely because another class in the same versioned directory depends on it.  If we are creating a versionedStream for the version that the non-public class is in, it will be in finalNames, otherwise it won’t be.  I believe the code is correct here.
>
> New concealed packages can be added in a versioned section of the jar file created by jar tool.  Should classes in concealed packages be added to finalNames or not?  Or stated differently, for jlink, should a versionedStream contain entries in concealed packages?
>
Er, I thought the plan was for the set of concealed packages to be the 
same. It's okay for the ConcealedPackages in the base section to include 
"empty" packages.

-Alan


More information about the jigsaw-dev mailing list