src/jdk.packager/share/classes/jdk/packager/internal/Arguments.java
branchJDK-8200758-branch
changeset 56882 0ec8559f599a
parent 56869 41e17fe9fbeb
child 56933 9f59eeb3cc0f
--- a/src/jdk.packager/share/classes/jdk/packager/internal/Arguments.java	Mon Aug 27 16:02:55 2018 -0400
+++ b/src/jdk.packager/share/classes/jdk/packager/internal/Arguments.java	Sat Sep 08 09:20:34 2018 -0400
@@ -114,6 +114,7 @@
     private boolean hasMainClass = false;
     private boolean hasMainModule = false;
     private boolean hasTargetFormat = false;
+    private boolean hasAppImage = false;
 
     private String mainJarPath = null;
     
@@ -305,7 +306,10 @@
             setOptionValue("echo-mode", true);
         }),
 
-        PREDEFINED_APP_IMAGE ("app-image", OptionCategories.PROPERTY),
+        PREDEFINED_APP_IMAGE ("app-image", OptionCategories.PROPERTY, ()-> {
+            setOptionValue("app-image", popArg());
+            context().hasAppImage = true;
+        }),
         
         PREDEFINED_RUNTIME_IMAGE ("runtime-image", OptionCategories.PROPERTY),
 
@@ -536,9 +540,9 @@
                 return false;
             }
 
-            if (!hasMainJar && !hasMainModule &&
+            if (!hasAppImage && !hasMainJar && !hasMainModule &&
                     !hasMainClass && !jreInstaller) {
-                Log.info("ERROR: Main jar or main class or main module "
+                Log.info("ERROR: Main jar, main class, main module, or app-image "
                         + "must be specified.");
             } else if (!hasMainModule && !hasMainClass) {
                 // try to get main-class from manifest