test/jdk/tools/jpackage/helpers/JPackageHelper.java
branchJDK-8200758-branch
changeset 58360 fd45b7e2c027
parent 58359 e065fd274bc1
child 58888 d802578912f3
--- a/test/jdk/tools/jpackage/helpers/JPackageHelper.java	Thu Sep 26 09:19:46 2019 -0400
+++ b/test/jdk/tools/jpackage/helpers/JPackageHelper.java	Thu Sep 26 10:37:37 2019 -0400
@@ -51,6 +51,24 @@
     private static final Path JAR;
     private static final Path JLINK;
 
+    public static class ModuleArgs {
+        private final String version;
+        private final String mainClass;
+
+        ModuleArgs(String version, String mainClass) {
+            this.version = version;
+            this.mainClass = mainClass;
+        }
+
+        public String getVersion() {
+            return version;
+        }
+
+        public String getMainClass() {
+            return mainClass;
+        }
+    }
+
     static {
         if (OS.startsWith("win")) {
             JPACKAGE = BIN_DIR.resolve("jpackage.exe");
@@ -375,16 +393,16 @@
         createModule("Hello.java", "input", "hello", null, true);
     }
 
-    public static void createHelloModule(String version) throws Exception {
-        createModule("Hello.java", "input", "hello", version, true);
+    public static void createHelloModule(ModuleArgs moduleArgs) throws Exception {
+        createModule("Hello.java", "input", "hello", moduleArgs, true);
     }
 
     public static void createOtherModule() throws Exception {
         createModule("Other.java", "input-other", "other", null, false);
     }
 
-    private static void createModule(String javaFile, String inputDir,
-            String aName, String version, boolean createModularJar) throws Exception {
+    private static void createModule(String javaFile, String inputDir, String aName,
+            ModuleArgs moduleArgs, boolean createModularJar) throws Exception {
         int retVal;
 
         File input = new File(inputDir);
@@ -431,9 +449,16 @@
                 args.add("--create");
                 args.add("--file");
                 args.add(inputDir + File.separator + "com." + aName + ".jar");
-                if (version != null) {
-                    args.add("--module-version");
-                    args.add(version);
+                if (moduleArgs != null) {
+                    if (moduleArgs.getVersion() != null) {
+                        args.add("--module-version");
+                        args.add(moduleArgs.getVersion());
+                    }
+
+                    if (moduleArgs.getMainClass()!= null) {
+                        args.add("--main-class");
+                        args.add(moduleArgs.getMainClass());
+                    }
                 }
                 args.add("-C");
                 args.add("module" + File.separator + "com." + aName);