@@ -68,7 +68,7 @@ public class PackageMojo extends AbstractMojo {
6868 private ExecutionEnvironment env ;
6969 private Map <String , Object > info ;
7070 private Platform hostPlatform ;
71- private File debFile , appFolder , assetsFolder , jarFile , executable ;
71+ private File appFolder , assetsFolder , jarFile , executable ;
7272
7373 // plugin configuration properties
7474
@@ -467,40 +467,21 @@ private void generateRpmPackage() throws MojoExecutionException {
467467
468468 getLog ().info ("Generating RPM package..." );
469469
470- // if (!debFile.exists()) {
471- // getLog().warn("Cannot convert DEB to RPM because " + debFile.getAbsolutePath() + " doesn't exist");
472- // return;
473- // }
474- //
475- // try {
476- // // executes alien command to generate rpm package folder from deb file
477- // CommandUtils.execute(assetsFolder, "alien", "-g", "--to-rpm", debFile);
478- // } catch (MojoExecutionException e) {
479- // getLog().warn("alien command execution failed", e);
480- // return;
481- // }
482- //
483- // File packageFolder = new File(assetsFolder, name.toLowerCase() + "-" + version);
484- // File specFile = FileUtils.findFirstFile(packageFolder, ".*\\.spec");
485- //
486- // try {
487- // // rebuilds rpm package
488- // CommandUtils.execute(assetsFolder, "rpmbuild", "--buildroot", packageFolder, "--nodeps", "-bb", specFile);
489- // } catch (MojoExecutionException e) {
490- // getLog().warn("rpmbuild command execution failed", e);
491- // return;
492- // }
493- //
494- // // renames generated rpm package
495- // File rpmFile = FileUtils.findFirstFile(outputDirectory, ".*\\.rpm");
496- // String newName = name + "_" + version + ".rpm";
497- // FileUtils.rename(rpmFile, newName);
498-
470+ // generates desktop file from velocity template
471+ File desktopFile = new File (assetsFolder , name + ".desktop" );
472+ VelocityUtils .render ("linux/desktop.vtl" , desktopFile , info );
473+
474+ // generates deb control file from velocity template
475+ File controlFile = new File (assetsFolder , "control" );
476+ VelocityUtils .render ("linux/control.vtl" , controlFile , info );
477+
478+ // determines xpm icon file location or takes default one
499479 File xpmIcon = new File (iconFile .getParentFile (), FilenameUtils .removeExtension (iconFile .getName ()) + ".xpm" );
500480 if (!xpmIcon .exists ()) {
501481 FileUtils .copyResourceToFile ("/linux/default-icon.xpm" , xpmIcon );
502482 }
503483
484+ // generated rpm file
504485 File rpmFile = new File (outputDirectory , name + "_" + version + ".rpm" );
505486
506487 // invokes plugin to generate deb package
@@ -550,6 +531,18 @@ private void generateRpmPackage() throws MojoExecutionException {
550531 )
551532 )
552533 ),
534+ /* desktop file */
535+ element ("mapping" ,
536+ element ("directory" , "/usr/share/applications" ),
537+ element ("sources" ,
538+ element ("source" ,
539+ element ("location" , assetsFolder .getAbsolutePath ()),
540+ element ("includes" ,
541+ element ("include" , desktopFile .getName ())
542+ )
543+ )
544+ )
545+ ),
553546 /* symbolic link in /usr/local/bin to app binary */
554547 element ("mapping" ,
555548 element ("directory" , "/usr/local/bin" ),
@@ -780,7 +773,8 @@ private void generateDebPackage() throws MojoExecutionException {
780773 File controlFile = new File (assetsFolder , "control" );
781774 VelocityUtils .render ("linux/control.vtl" , controlFile , info );
782775
783- debFile = new File (outputDirectory , name + "_" + version + ".deb" );
776+ // generated deb file
777+ File debFile = new File (outputDirectory , name + "_" + version + ".deb" );
784778
785779 // invokes plugin to generate deb package
786780 executeMojo (
0 commit comments