RFR: JDK-8212780: JEP 343: Packaging Tool Implementation
Roger Riggs
Roger.Riggs at oracle.com
Tue Nov 13 20:52:56 UTC 2018
Hi,
There are enough files unique to each platform to put them in separate
packages
otherwise you get too many (IMHO) files in a single package/directory and
its harder to tell which go with which. There isn't much of a problem with
classes being public because they are all in a module and not exported.
I would put them all under share/classes/jdk/jpackagers/internal/<OS> and
save a directory level.
$.02, Roger
On 11/13/2018 03:46 PM, Andy Herrick wrote:
> I agree with this and would take it further.
>
> 1 file is in ./share/classes/jdk/jpackager/internal/builders - why not
> just ./share/classes/jdk/jpackager/internal
>
> 2 files are in ./share/classes/jdk/jpackager/internal/bundlers - why
> not just in ./share/classes/jdk/jpackager/internal
>
> 1 file is in ./linux/classes/jdk/jpackager/internal/builders/linux -
> why not just ./linux/classes/jdk/jpackager/internal
>
> 1 file is in ./macosx/classes/jdk/jpackager/internal/builders/mac -
> why not just ./macosx/classes/jdk/jpackager/internal
>
> 1 file is in ./windows/classes/jdk/jpackager/internal/builders/windows
> - why not just ./windows/classes/jdk/jpackager/internal
>
> then just move the associated resources -
>
> Basically put everything except Main in same package - everything
> would be easier to find, and we could make almost all methods
> package-private (the only exception would be the few things called by
> Main, and the ToolProvider.
>
>
> On 11/13/2018 2:54 PM, Phil Race wrote:
>> Question .. why is "mac", "linux" and "windows" necessary in the
>> package name here ?
>>
>> src/jdk.jpackager/macosx/classes/jdk/jpackager/internal/mac/MacAppBundler.java
>>
>> src/jdk.jpackager/windows/classes/jdk/jpackager/internal/builders/windows/WindowsAppImageBuilder.java
>>
>> src/jdk.jpackager/linux/classes/jdk/jpackager/internal/linux/LinuxRpmBundler.java
>>
>>
>> There's not likely to be a clash, so is there some other reason not
>> to want these
>> in the same package as the shared internals like
>> src/jdk.jpackager/share/classes/jdk/jpackager/internal/Param.java
>>
>> ?
>>
>> -phil.
>
> I agree with this and would take it further.
>
> 1 file is in ./share/classes/jdk/jpackager/internal/builders - why not
> just ./share/classes/jdk/jpackager/internal
>
> 2 files are in ./share/classes/jdk/jpackager/internal/bundlers - why
> not just in ./share/classes/jdk/jpackager/internal
>
> 1 file is in ./linux/classes/jdk/jpackager/internal/builders/linux -
> why not just ./linux/classes/jdk/jpackager/internal
>
> 1 file is in ./macosx/classes/jdk/jpackager/internal/builders/mac -
> why not just ./macosx/classes/jdk/jpackager/internal
>
> 1 file is in ./windows/classes/jdk/jpackager/internal/builders/windows
> - why not just ./windows/classes/jdk/jpackager/internal
>
> then just move the associated resources -
>
> Basically put everything except Main in same package - everything
> would be easier to find, and we could make almost all methods
> package-private (the only exception would be the few things called by
> Main, and the ToolProvider.
>
> /Andy
>
More information about the build-dev
mailing list