RFR: 8370100: Redundant .png files in Linux app-image cause unnecessary bloat [v2]

Alexander Matveev almatvee at openjdk.org
Tue Oct 28 00:43:04 UTC 2025


On Fri, 24 Oct 2025 21:42:25 GMT, Alexey Semenyuk <asemenyuk at openjdk.org> wrote:

>> Don't put the default icon (.png) files in the app image on Linux.
>> 
>> A simple fix would be to add a condition to `LinuxPackagingPipeline.writeLauncherIcons()` without changing interfaces in the model. However, this would leave unaddressed a long-standing issue with `ApplicationImageUtils.createLauncherIconResource()` function that requires the main launcher to calculate an icon resource for an additional launcher. At the packaging phase, any `Launcher` instance should be self-sufficient. Fixing `ApplicationImageUtils.createLauncherIconResource()` required adding a new interface `ResourceDirLauncherIcon` to the model and changing the semantics of the `DefaultLauncherIcon` interface.
>> 
>> A new `ApplicationBuilder.normalizeLauncherProperty()` function has been added to calculate the value of an additional launcher's property from the value of this property in the main launcher. The function is supposed to calculate a description, shortcuts, an icon, and any future launcher property. For now, it is used to calculate the launcher icon.
>
> Alexey Semenyuk has refreshed the contents of this pull request, and previous commits have been removed. The incremental views will show differences compared to the previous content of the PR. The pull request contains eight new commits since the last revision:
> 
>  - DefaultLauncherIcon: blessed-modifier-order.sh  fix
>  - FileAssociations: revert redundant change
>  - Fix fa icon verification on Linux
>  - LinuxPackagingPipeline, WinPackagingPipeline: remove unused normalizeShortcuts() methods
>  - IconTest: revamp
>  - LinuxHelper: revamp
>  - Don't add the default launcher icon to app image on Linux
>  - Make Launcher interface provide complete information about the source of the launcher icon; Before this change, the function getting a resource for an additional launcher icon took both the additional launcher and the main launcher as input. Now its result doesn't depend on the main launcher.

Looks good. Thanks for detailed explanation.

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

Marked as reviewed by almatvee (Reviewer).

PR Review: https://git.openjdk.org/jdk/pull/27928#pullrequestreview-3386074642


More information about the core-libs-dev mailing list