RFR: 8371076: jpackage will wrongly overwrite the plist file in the embedded runtime when executed with the "--app-image" option [v2]

Alexander Matveev almatvee at openjdk.org
Sat Nov 1 01:20:05 UTC 2025


On Fri, 31 Oct 2025 21:55:27 GMT, Alexey Semenyuk <asemenyuk at openjdk.org> wrote:

>> - Fix MacPackagingPipeline.
>> - Fix AppImageSigner: this is the follow-up for MacPackagingPipeline fix. Without fixing AppImageSigner AppImagePackageTest.testEmpty test fails. It happened that the test passed because jpackage wrongly created the plist file for the embedded runtime in the case of the predefined app image. The test passed because of the bug in jpackage fixed in this PR.
>> - Add test cases for predefined app image packaging to the CustomInfoPListTest test. They had been failing before MacPackagingPipeline was fixed.
>> 
>> Supplementary changes:
>>  - Get rid of duplicated `createInputRuntimeImage()` and `createRuntimeBundle()` functions.
>>  - Improve `MacHelper.writeFaPListFragment()` to work with a predefined app image.
>>  - Add optional tracing to the packaging pipeline (turned off by default, must edit static fields to enable in custom builds).
>>  - PListReader: add find methods that return an Optional instead of throwing an exception when the requested key is not found; update unit tests.
>
> Alexey Semenyuk has updated the pull request incrementally with two additional commits since the last revision:
> 
>  - CustomInfoPListTest: use Slot class
>  - Add Slot utility class

Looks good with minor comments.

src/jdk.jpackage/share/classes/jdk/jpackage/internal/util/Slot.java line 29:

> 27: import java.util.Objects;
> 28: 
> 29: public final class Slot<T> {

Can you add comment to explain why we need this class and how it is used?

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

PR Review: https://git.openjdk.org/jdk/pull/28089#pullrequestreview-3406683482
PR Review Comment: https://git.openjdk.org/jdk/pull/28089#discussion_r2483022681


More information about the core-libs-dev mailing list