src/jdk.packager/share/classes/jdk/packager/internal/DeployParams.java
branchJDK-8200758-branch
changeset 56902 6972c0e75e23
parent 56888 628a283daa6c
child 56933 9f59eeb3cc0f
--- a/src/jdk.packager/share/classes/jdk/packager/internal/DeployParams.java	Fri Sep 21 09:30:03 2018 -0400
+++ b/src/jdk.packager/share/classes/jdk/packager/internal/DeployParams.java	Fri Sep 21 09:32:02 2018 -0400
@@ -88,7 +88,7 @@
     String updateMode = "background";
     boolean isExtension = false;
     boolean isSwingApp = false;
-    
+
     boolean jreInstaller = false;
 
     Boolean needShortcut = null;
@@ -490,6 +490,21 @@
                 throw new PackagerException("ERR_MissingArgument", "--main-jar");
             }
         }
+
+        // Validate app image if set
+        String appImage = (String)bundlerArguments.get(Arguments.CLIOptions.PREDEFINED_APP_IMAGE.getId());
+        if (appImage != null) {
+            File appImageDir = new File(appImage);
+            if (!appImageDir.exists()) {
+                throw new PackagerException("ERR_AppImageNotExist", appImage);
+            }
+
+            File appImageAppDir = new File(appImage + File.separator + "app");
+            File appImageRuntimeDir = new File(appImage + File.separator + "runtime");
+            if (!appImageAppDir.exists() || !appImageRuntimeDir.exists()) {
+                throw new PackagerException("ERR_AppImageInvalid", appImage);
+            }
+        }
     }
 
     public boolean validateForBundle() {
@@ -662,7 +677,7 @@
 
         Map<String, String> unescapedHtmlParams = new TreeMap<>();
         Map<String, String> escapedHtmlParams = new TreeMap<>();
-        
+
         // check for collisions
         TreeSet<String> keys = new TreeSet<>(bundlerArguments.keySet());
         keys.retainAll(bundleParams.getBundleParamsAsMap().keySet());