just noticed all of the new package targets for co...
# compose-desktop
a
just noticed all of the new package targets for compose desktop! This is great! Man I would love Snap and Flatpack for linux, that would really complete things for Linux targets
u
What are you talking about?
m
Just wanted to ask the same.
p
Dont know what is this message about, but looks interesting.
a
the Compose Multiplatform Gradle plugin can produce end-user distributable binaries, MSI installer for windows, .deb package for linux, ect. But some time ago apparently they've added more targets! RPM (also package format for other Linux distros)
and AppImage which is a new linux portable all-in-one distribution format. It's great
but FlatPak and Snap are two other all-in-one linux formats that are very popular
they also added EXE for Windows, but it's still just an installer (like the MSI target). Which I had been hoping was instead a portable EXE, like AppImage
tl;dr it's all great progress in having a batteries included experience when you are ready to finally distribute your CMP app to end users
a
huh! Maybe I started my project longer ago than that? Or maybe I just missed it 🤔 AppImage is new I think though?
c
image.png
a
🤷 huh, well never mind 🤣 but I'd still love to see some more added: snap and flatpak, portable exe. Maybe make the appImage one actually produce the final file, rather than just the directory
👍🏻 1
m
And AppImage is not what you think it is and it has been there since the beginning.
a
huh, it seems to be a self contained, executable container format for programs. What else is it?
m
That's what Googles AI would tell you:
Copy code
Can I create a Linux .appImage with Java's jpackage tool?
Copy code
No,
jpackage cannot directly create a Linux .AppImage file. 
While jpackage has a command-line option --type app-image, it refers to a predefined directory structure (an uncompressed folder) containing your application and a bundled Java runtime, rather than the self-contained .AppImage executable format. 
Supported Formats (2025)
As of late 2025, jpackage supports the following native Linux formats: 

    Debian packages (.deb)
    RPM packages (.rpm)

How to Create an AppImage for Java
To create a true .AppImage, you must use jpackage in conjunction with external tools: 

    Generate a directory image: Run jpackage --type app-image to create the initial folder structure that includes your JARs and a customized Java runtime.
    Prepare an AppDir: Follow the AppImage packaging guide to structure this folder (often called an AppDir). You will need to add a .desktop file, an icon, and an AppRun script that points to your application's executable.
    Use appimagetool: Use the official appimagetool to package the directory into a single .AppImage file. 

Alternatively, you can use specialized third-party tools like Conveyor or JReleaser which automate the creation of AppImages for Java applications.
If you should know of a script or something like that to automatically do the additional steps, I'd be interested to hear about it. I don't use Linux, so I can't try it myself.