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