@@ -44,6 +44,7 @@ protected File doApply(LinuxPackager packager) throws Exception {
44
44
String name = packager .getName ();
45
45
File executable = packager .getExecutable ();
46
46
File assetsFolder = packager .getAssetsFolder ();
47
+ File iconFile = packager .getIconFile ();
47
48
48
49
// output AppImage file
49
50
File appImage = new File (outputFolder , name + ".AppImage" );
@@ -56,18 +57,23 @@ protected File doApply(LinuxPackager packager) throws Exception {
56
57
File appImageTool = getAppImageTool (packager );
57
58
Logger .info ("App image tool found! " + appImageTool );
58
59
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" ) );
61
62
62
- // generates desktop file from velocity template
63
+ // generates AppImage desktop file from velocity template
63
64
File desktopFile = new File (appDir , name + ".desktop" );
64
- VelocityUtils .render ("linux/desktop.vtl" , desktopFile , packager );
65
+ VelocityUtils .render ("linux/desktop-appimage .vtl" , desktopFile , packager );
65
66
Logger .info ("Desktop file rendered in " + desktopFile .getAbsolutePath ());
66
67
67
68
// creates AppRun symlink to startup script
68
69
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 ()));
71
77
72
78
// runs appimagetool on appFolder
73
79
Logger .info ("Running appimagetool on " + appFolder );
0 commit comments