@@ -44,6 +44,7 @@ protected File doApply(LinuxPackager packager) throws Exception {
4444 String name = packager .getName ();
4545 File executable = packager .getExecutable ();
4646 File assetsFolder = packager .getAssetsFolder ();
47+ File iconFile = packager .getIconFile ();
4748
4849 // output AppImage file
4950 File appImage = new File (outputFolder , name + ".AppImage" );
@@ -56,18 +57,23 @@ protected File doApply(LinuxPackager packager) throws Exception {
5657 File appImageTool = getAppImageTool (packager );
5758 Logger .info ("App image tool found! " + appImageTool );
5859
59- // copies app folder to assets
60- FileUtils .copyFolderContentToFolder (appFolder , appDir );
60+ // copies app folder to AppDir/usr/bin
61+ FileUtils .copyFolderContentToFolder (appFolder , new File ( appDir , "usr/bin" ) );
6162
62- // generates desktop file from velocity template
63+ // generates AppImage desktop file from velocity template
6364 File desktopFile = new File (appDir , name + ".desktop" );
64- VelocityUtils .render ("linux/desktop.vtl" , desktopFile , packager );
65+ VelocityUtils .render ("linux/desktop-appimage .vtl" , desktopFile , packager );
6566 Logger .info ("Desktop file rendered in " + desktopFile .getAbsolutePath ());
6667
6768 // creates AppRun symlink to startup script
6869 Logger .info ("Creating AppRun symlink to startup script..." );
69- File appRun = new File (appDir , "AppRun" );
70- FileUtils .createSymlink (appRun , new File (executable .getName ()));
70+ File appRun = new File (appDir , "AppRun" );
71+ FileUtils .createSymlink (appRun , new File ("usr/bin" , executable .getName ()));
72+
73+ // creates AppRun symlink to startup script
74+ Logger .info ("Creating symlink to icon ..." );
75+ File appIconFile = new File (appDir , iconFile .getName ());
76+ FileUtils .createSymlink (appIconFile , new File ("usr/bin" , iconFile .getName ()));
7177
7278 // runs appimagetool on appFolder
7379 Logger .info ("Running appimagetool on " + appFolder );
0 commit comments