src/jdk.jpackage/linux/classes/jdk/jpackage/internal/LinuxDebBundler.java
branchJDK-8200758-branch
changeset 58116 93b8c1305de2
parent 58114 42df7de58e39
child 58301 e0efb29609bd
--- a/src/jdk.jpackage/linux/classes/jdk/jpackage/internal/LinuxDebBundler.java	Wed Sep 11 13:26:36 2019 -0400
+++ b/src/jdk.jpackage/linux/classes/jdk/jpackage/internal/LinuxDebBundler.java	Thu Sep 12 10:46:10 2019 -0400
@@ -221,6 +221,15 @@
                 (s, p) -> s
         );
 
+    public static final StandardBundlerParam<Boolean> SHORTCUT_HINT =
+        new StandardBundlerParam<>(
+                Arguments.CLIOptions.LINUX_SHORTCUT_HINT.getId(),
+                Boolean.class,
+                params -> false,
+                (s, p) -> (s == null || "null".equalsIgnoreCase(s))
+                        ? false : Boolean.valueOf(s)
+        );
+
     private final static String DEFAULT_ICON = "java32.png";
     private final static String DEFAULT_CONTROL_TEMPLATE = "template.control";
     private final static String DEFAULT_PRERM_TEMPLATE = "template.prerm";
@@ -507,10 +516,11 @@
 
             if (!StandardBundlerParam.isRuntimeInstaller(params)) {
                 // prepare desktop shortcut
-                try (Writer w = Files.newBufferedWriter(
+                if (SHORTCUT_HINT.fetchFrom(params)) {
+                    try (Writer w = Files.newBufferedWriter(
                         getConfig_DesktopShortcutFile(
                                 binDir, addLauncher).toPath())) {
-                    String content = preprocessTextResource(
+                        String content = preprocessTextResource(
                             getConfig_DesktopShortcutFile(binDir,
                             addLauncher).getName(),
                             I18N.getString("resource.menu-shortcut-descriptor"),
@@ -518,7 +528,8 @@
                             addLauncherData,
                             VERBOSE.fetchFrom(params),
                             RESOURCE_DIR.fetchFrom(params));
-                    w.write(content);
+                        w.write(content);
+                    }
                 }
             }
 
@@ -707,10 +718,11 @@
         }
 
         if (!StandardBundlerParam.isRuntimeInstaller(params)) {
-            //prepare desktop shortcut
-            try (Writer w = Files.newBufferedWriter(
+            // prepare desktop shortcut
+            if (SHORTCUT_HINT.fetchFrom(params)) {
+                try (Writer w = Files.newBufferedWriter(
                     getConfig_DesktopShortcutFile(binDir, params).toPath())) {
-                String content = preprocessTextResource(
+                    String content = preprocessTextResource(
                         getConfig_DesktopShortcutFile(
                         binDir, params).getName(),
                         I18N.getString("resource.menu-shortcut-descriptor"),
@@ -718,7 +730,8 @@
                         data,
                         VERBOSE.fetchFrom(params),
                         RESOURCE_DIR.fetchFrom(params));
-                w.write(content);
+                    w.write(content);
+                }
             }
         }
         // prepare control file