RFR: JDK-8212780: JEP 343: Packaging Tool Implementation

Alexey Semenyuk alexey.semenyuk at oracle.com
Thu May 2 17:49:22 UTC 2019


Some findings:

http://cr.openjdk.java.net/~herrick/8212780/webrev.ea6/raw_files/new/make/launcher/Launcher-jdk.jpackage.gmk:
I think definitions of BUILD_JPACKAGE_APPLAUNCHEREXE and 
BUILD_JPACKAGE_APPLAUNCHERWEXE targets should be moved to 
http://cr.openjdk.java.net/~herrick/8212780/webrev.ea6/make/lib/Lib-jdk.jpackage.gmk.html. 
Reason: these targets don't output executables into images/jdk/bin 
directory. They produce artifacts that stored as resources in jpackage 
just like other targets defined in Lib-jdk.jpackage.gmk.

Wix source code produced by 
http://cr.openjdk.java.net/~herrick/8212780/webrev.ea6/src/jdk.jpackage/windows/classes/jdk/jpackage/internal/WinMsiBundler.java.html 
doesn't comply to recommendations of how files should be packed in 
component. The recommendation is to use one file per a component - 
http://wixtoolset.org/documentation/manual/v3/howtos/files_and_registry/add_a_file.html. 
However jpackage produces way less components than files:
---
$ less config/bundle.wxi | grep '<Component' | wc -w
634

$ less config/bundle.wxi | grep '<File' | wc -w
1650
---
Data picked from my local test project.

http://cr.openjdk.java.net/~herrick/8212780/webrev.ea6/src/jdk.jpackage/windows/classes/jdk/jpackage/internal/WinMsiBundler.java.html:745
      + " Guid=\"" + UUID.randomUUID().toString() + "\""
Use of random GUIDs for components is not recommended and potentially 
can result in issues with application updates. The recommended approach 
is to generate stable GUIDs - 
http://wixtoolset.org/documentation/manual/v3/howtos/general/generate_guids.html, 
http://windows-installer-xml-wix-toolset.687559.n2.nabble.com/How-does-heat-maintain-consistent-GUIDs-td7599757.html.
Algorithm to create stable GUIDs is explained at 
https://tools.ietf.org/html/rfc4122#page-13. However we can avoid the 
hassle of generating stable GUIDs if we would put only one file in every 
component. In this case WiX is able to generate stable GUIDs for us.

- Alexey

On 4/27/2019 8:46 PM, Philip Race wrote:
> Adding build-dev for the build changes. I don't know if these were 
> previously reviewed there,
> but I am not sure what the changes in NativeCompilation.gmk have to do 
> with jpackage.
>
> -phil.
>
> On 4/24/19, 5:47 PM, Andy Herrick wrote:
>>
>> On 4/24/2019 8:44 PM, Andy Herrick wrote:
>>> Please review  changes for [1] which is the implementation bug for 
>>> JEP-343.
>>>
>>> The webrev at [2] is the total cumulative webrev of changes for the 
>>> jpackage tool, currently in the JDK-8200758-branch branch of the 
>>> open sandbox repository.
>>>
>>> The webrev at [3] shows the changes from EA-05 to EA-06.
>> sorry - the links are reversed from what is stated above. [2] is the 
>> incremental webrev since EA 05, [3] is the cumulativewebrev
>> /Andy
>>>
>>> The latest EA-6 (build 49) is posted at [4].
>>>
>>> Please send feedback to core-libs-dev at openjdk.java.net
>>>
>>>
>>> [1] https://bugs.openjdk.java.net/browse/JDK-8200758
>>>
>>> [2] http://cr.openjdk.java.net/~herrick/8212780/webrev.05-06/
>>>
>>> [3] http://cr.openjdk.java.net/~herrick/8212780/webrev.ea6/
>>>
>>> [4] http://jdk.java.net/jpackage/
>>>
>>>
>>> /Andy
>>>
>>>
>>




More information about the build-dev mailing list