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

Reply via email to