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