RFR: 8319457: Update jpackage to support WiX Toolset 4 on Windows [v2]

Alexey Semenyuk asemenyuk at openjdk.org
Tue Jun 4 13:52:03 UTC 2024


> Add support for WiX4 (and WiX5) in jpackage.
> 
> jpackage supports WiX3, WiX4 and WiX5. It will pick WiX4/WiX5 if one of them is installed and there is WiX3 installed too. (Note: WiX4 and WiX5 are not supposed to be installed side-by-side, but if it happens, WiX5 will be preferred over WiX4).
> 
> Custom WiX3 sources will be automatically converted to WiX4 format if WiX4/WiX5 is used. The converter provides:
> 
> - full support of the conversion of WiX L10N (.wxl) files, i.e. full support of "http://schemas.microsoft.com/wix/2006/localization" to "http://wixtoolset.org/schemas/v4/wxl" namespace conversion;
> - partial support of WiX source (.wxs) files, i.e. partial support of "http://schemas.microsoft.com/wix/2006/wi" to "http://wixtoolset.org/schemas/v4/wxs" namespace conversion;
> 
> The converter is a XSLT stylesheet. The default converter is `src/jdk.jpackage/windows/classes/jdk/jpackage/internal/resources/wix3-to-wix4-conv.xsl`. It can be replaced with the custom converter by adding "wix-conv.xsl" file to the resource directory.

Alexey Semenyuk has updated the pull request with a new target base due to a merge or a rebase. The pull request now contains 28 commits:

 - EOLs restored
 - Merge branch 'master' into JDK-8319457
 - Revert "Revert "Rollback unneeded change""
   
   This reverts commit 5fded0b107643b20a5c517a58f611b89406aec8e.
 - Support the use of custom wix source converter
 - Ensure WiX source converter works with the default JDK XSLT processor and Saxon HE (v12.4)
 - Revert "Rollback unneeded change"
   
   This reverts commit 00d7cc6c102f3b2c8db84d47cc6a04aad53f74fc.
 - Rollback unneeded change
 - Merge branch 'master' into JDK-8319457
 - Don't suppress jpackage output when it is detecting what packaging tools available and what bundlers are supported.
 - Fix issue with running jtreg tests when wix.exe is not available in the PATH. When wix.exe is not in the PATH, jpackage uses %USERPROFILE% env variable to get user home directory. But jtreg removes it from the environment when running tests, so without wix.exe in the PATH all jpackage tests will fail on Windows. This makes it impossible to test jpackage with wix3. This patch addresses this issue by reading user home additionally from "java.home" system property.
 - ... and 18 more: https://git.openjdk.org/jdk/compare/9686e804...99aac323

-------------

Changes: https://git.openjdk.org/jdk/pull/19318/files
  Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=19318&range=01
  Stats: 1471 lines in 22 files changed: 1155 ins; 92 del; 224 mod
  Patch: https://git.openjdk.org/jdk/pull/19318.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/19318/head:pull/19318

PR: https://git.openjdk.org/jdk/pull/19318


More information about the core-libs-dev mailing list