src/jdk.jpackage/linux/classes/jdk/jpackage/internal/LinuxPackageBundler.java
branchJDK-8200758-branch
changeset 58762 0fe62353385b
parent 58647 2c43b89b1679
child 58791 fca9cb5f4953
--- a/src/jdk.jpackage/linux/classes/jdk/jpackage/internal/LinuxPackageBundler.java	Wed Oct 23 10:10:34 2019 -0400
+++ b/src/jdk.jpackage/linux/classes/jdk/jpackage/internal/LinuxPackageBundler.java	Wed Oct 23 10:37:54 2019 -0400
@@ -29,6 +29,7 @@
 import java.nio.file.Path;
 import java.text.MessageFormat;
 import java.util.*;
+import java.util.function.Function;
 import java.util.function.Predicate;
 import java.util.stream.Collectors;
 import java.util.stream.Stream;
@@ -99,18 +100,25 @@
 
         PlatformPackage thePackage = createMetaPackage(params);
 
+        Function<File, ApplicationLayout> initAppImageLayout = imageRoot -> {
+            ApplicationLayout layout = appImageLayout(params);
+            layout.pathGroup().setPath(new Object(),
+                    AppImageFile.getPathInAppImage(Path.of("")));
+            return layout.resolveAt(imageRoot.toPath());
+        };
+
         try {
             File appImage = StandardBundlerParam.getPredefinedAppImage(params);
 
             // we either have an application image or need to build one
             if (appImage != null) {
-                appImageLayout(params).resolveAt(appImage.toPath()).copy(
+                initAppImageLayout.apply(appImage).copy(
                         thePackage.sourceApplicationLayout());
             } else {
                 appImage = APP_BUNDLER.fetchFrom(params).doBundle(params,
                         thePackage.sourceRoot().toFile(), true);
-                ApplicationLayout srcAppLayout = appImageLayout(params).resolveAt(
-                        appImage.toPath());
+                ApplicationLayout srcAppLayout = initAppImageLayout.apply(
+                        appImage);
                 if (appImage.equals(PREDEFINED_RUNTIME_IMAGE.fetchFrom(params))) {
                     // Application image points to run-time image.
                     // Copy it.