changeset 324:0181e5e6b9bb

8160905: Implementation of JmodExplodedModuleAndModularJarDependencyTest testcase for javapackager in JDK9. Contributed-by: ramesh.gangadhar@oracle.com Reviewed-by: cbensen
author cbensen
date Fri, 22 Jul 2016 08:40:32 -0700
parents a141695f4a7f
children adbed89b4b79
files functional/appBundlerTestsJDK9/appBundlerTestsJDK9/bin/com/oracle/appbundlers/utils/resources/com.greetings.module.info.template functional/appBundlerTestsJDK9/appBundlerTestsJDK9/bin/com/oracle/appbundlers/utils/resources/util.module.template functional/appBundlerTestsJDK9/appBundlerTestsJDK9/nbproject/build-impl.xml functional/appBundlerTestsJDK9/appBundlerTestsJDK9/src/com/oracle/appbundlers/utils/AntBundlingManager.java functional/appBundlerTestsJDK9/appBundlerTestsJDK9/src/com/oracle/appbundlers/utils/AppWrapper.java functional/appBundlerTestsJDK9/appBundlerTestsJDK9/src/com/oracle/appbundlers/utils/JavaApiBundlingManager.java functional/appBundlerTestsJDK9/appBundlerTestsJDK9/src/com/oracle/appbundlers/utils/Source.java functional/appBundlerTestsJDK9/appBundlerTestsJDK9/src/com/oracle/appbundlers/utils/resources/com.greetings.module.info.template functional/appBundlerTestsJDK9/appBundlerTestsJDK9/src/com/oracle/appbundlers/utils/resources/util.module.template functional/appBundlerTestsJDK9/appBundlerTestsJDK9/test/com/oracle/appbundlers/tests/functionality/AppCDSAutoInstallTest.java functional/appBundlerTestsJDK9/appBundlerTestsJDK9/test/com/oracle/appbundlers/tests/functionality/AppCDSCustomClassesTest.java functional/appBundlerTestsJDK9/appBundlerTestsJDK9/test/com/oracle/appbundlers/tests/functionality/AppCDSInstallTest.java functional/appBundlerTestsJDK9/appBundlerTestsJDK9/test/com/oracle/appbundlers/tests/functionality/AppCDSTest.java functional/appBundlerTestsJDK9/appBundlerTestsJDK9/test/com/oracle/appbundlers/tests/functionality/AppInfoParametersTest.java functional/appBundlerTestsJDK9/appBundlerTestsJDK9/test/com/oracle/appbundlers/tests/functionality/CommandLineArgumentsTest.java functional/appBundlerTestsJDK9/appBundlerTestsJDK9/test/com/oracle/appbundlers/tests/functionality/ConfigExceptionTest.java functional/appBundlerTestsJDK9/appBundlerTestsJDK9/test/com/oracle/appbundlers/tests/functionality/CoupleSecondaryLaunchersTest.java functional/appBundlerTestsJDK9/appBundlerTestsJDK9/test/com/oracle/appbundlers/tests/functionality/DefaultArgumentsOverrideTest.java functional/appBundlerTestsJDK9/appBundlerTestsJDK9/test/com/oracle/appbundlers/tests/functionality/DefaultArgumentsTest.java functional/appBundlerTestsJDK9/appBundlerTestsJDK9/test/com/oracle/appbundlers/tests/functionality/DefaultClassPathTest.java functional/appBundlerTestsJDK9/appBundlerTestsJDK9/test/com/oracle/appbundlers/tests/functionality/FileAssociationTest.java functional/appBundlerTestsJDK9/appBundlerTestsJDK9/test/com/oracle/appbundlers/tests/functionality/IconTest.java functional/appBundlerTestsJDK9/appBundlerTestsJDK9/test/com/oracle/appbundlers/tests/functionality/IdentifierTest.java functional/appBundlerTestsJDK9/appBundlerTestsJDK9/test/com/oracle/appbundlers/tests/functionality/InstallDirTest.java functional/appBundlerTestsJDK9/appBundlerTestsJDK9/test/com/oracle/appbundlers/tests/functionality/JvmOptionsTest.java functional/appBundlerTestsJDK9/appBundlerTestsJDK9/test/com/oracle/appbundlers/tests/functionality/LicenseFileTest.java functional/appBundlerTestsJDK9/appBundlerTestsJDK9/test/com/oracle/appbundlers/tests/functionality/LicenseTest.java functional/appBundlerTestsJDK9/appBundlerTestsJDK9/test/com/oracle/appbundlers/tests/functionality/LinuxSpecificTest.java functional/appBundlerTestsJDK9/appBundlerTestsJDK9/test/com/oracle/appbundlers/tests/functionality/MacCodesignTest.java functional/appBundlerTestsJDK9/appBundlerTestsJDK9/test/com/oracle/appbundlers/tests/functionality/MacOsSpecificTest.java functional/appBundlerTestsJDK9/appBundlerTestsJDK9/test/com/oracle/appbundlers/tests/functionality/MainClassTest.java functional/appBundlerTestsJDK9/appBundlerTestsJDK9/test/com/oracle/appbundlers/tests/functionality/PreferencesIdTest.java functional/appBundlerTestsJDK9/appBundlerTestsJDK9/test/com/oracle/appbundlers/tests/functionality/RuntimeTest.java functional/appBundlerTestsJDK9/appBundlerTestsJDK9/test/com/oracle/appbundlers/tests/functionality/SecondLauncherSameJreTest.java functional/appBundlerTestsJDK9/appBundlerTestsJDK9/test/com/oracle/appbundlers/tests/functionality/SecondLauncherTest.java functional/appBundlerTestsJDK9/appBundlerTestsJDK9/test/com/oracle/appbundlers/tests/functionality/ServiceHintTest.java functional/appBundlerTestsJDK9/appBundlerTestsJDK9/test/com/oracle/appbundlers/tests/functionality/ShortcutMenuHintsTest.java functional/appBundlerTestsJDK9/appBundlerTestsJDK9/test/com/oracle/appbundlers/tests/functionality/SimpleDmgTest.java functional/appBundlerTestsJDK9/appBundlerTestsJDK9/test/com/oracle/appbundlers/tests/functionality/SimpleExecutablesTest.java functional/appBundlerTestsJDK9/appBundlerTestsJDK9/test/com/oracle/appbundlers/tests/functionality/SystemWideExeTest.java functional/appBundlerTestsJDK9/appBundlerTestsJDK9/test/com/oracle/appbundlers/tests/functionality/SystemWideMsiTest.java functional/appBundlerTestsJDK9/appBundlerTestsJDK9/test/com/oracle/appbundlers/tests/functionality/SystemWideTest.java functional/appBundlerTestsJDK9/appBundlerTestsJDK9/test/com/oracle/appbundlers/tests/functionality/TestBase.java functional/appBundlerTestsJDK9/appBundlerTestsJDK9/test/com/oracle/appbundlers/tests/functionality/UserFriendlyJvmOptionsTest.java functional/appBundlerTestsJDK9/appBundlerTestsJDK9/test/com/oracle/appbundlers/tests/functionality/jdk9test/AddModuleTest.java functional/appBundlerTestsJDK9/appBundlerTestsJDK9/test/com/oracle/appbundlers/tests/functionality/jdk9test/CheckExecutablesAvailableTest.java functional/appBundlerTestsJDK9/appBundlerTestsJDK9/test/com/oracle/appbundlers/tests/functionality/jdk9test/JmodExplodedModuleAndModularJarDependencyTest.java functional/appBundlerTestsJDK9/appBundlerTestsJDK9/test/com/oracle/appbundlers/tests/functionality/jdk9test/LimitModuleTest.java functional/appBundlerTestsJDK9/appBundlerTestsJDK9/test/com/oracle/appbundlers/tests/functionality/jdk9test/ListServiceProvidersTest.java functional/appBundlerTestsJDK9/appBundlerTestsJDK9/test/com/oracle/appbundlers/tests/functionality/jdk9test/MainModuleTest.java functional/appBundlerTestsJDK9/appBundlerTestsJDK9/test/com/oracle/appbundlers/tests/functionality/jdk9test/ModuleTestBase.java functional/appBundlerTestsJDK9/appBundlerTestsJDK9/test/com/oracle/appbundlers/tests/functionality/jdk9test/NamedModuleBundledWithAllModules.java functional/appBundlerTestsJDK9/appBundlerTestsJDK9/test/com/oracle/appbundlers/tests/functionality/jdk9test/NamedModuleBundledWithMinimumModulesAnd3rdPartyJarsTest.java functional/appBundlerTestsJDK9/appBundlerTestsJDK9/test/com/oracle/appbundlers/tests/functionality/jdk9test/NamedModuleBundledWithMinimumModulesAnd3rdPartyModulesTest.java functional/appBundlerTestsJDK9/appBundlerTestsJDK9/test/com/oracle/appbundlers/tests/functionality/jdk9test/NamedModuleBundledWithMinimumModulesMacroAnd3rdPartyModulesTest.java functional/appBundlerTestsJDK9/appBundlerTestsJDK9/test/com/oracle/appbundlers/tests/functionality/jdk9test/NamedModuleWithEntireJreTest.java functional/appBundlerTestsJDK9/appBundlerTestsJDK9/test/com/oracle/appbundlers/tests/functionality/jdk9test/NamedModuleWithMinimumModulesTest.java functional/appBundlerTestsJDK9/appBundlerTestsJDK9/test/com/oracle/appbundlers/tests/functionality/jdk9test/UnNamedModuleWithEntireJreTest.java functional/appBundlerTestsJDK9/appBundlerTestsJDK9/test/com/oracle/appbundlers/tests/functionality/jdk9test/UnnamedModuleDependsOn3rdPartyModulesBundledWithEntireJreTest.java functional/appBundlerTestsJDK9/appBundlerTestsJDK9/test/com/oracle/appbundlers/tests/functionality/jdk9test/UnnamedModuleDependsOnOtherJarsBundledWithEntireJre.java functional/appBundlerTestsJDK9/appBundlerTestsJDK9/test/com/oracle/appbundlers/tests/functionality/manual/ManualTestBase.java functional/appBundlerTestsJDK9/appBundlerTestsJDK9/test/com/oracle/appbundlers/tests/functionality/parameters/ExplodedModuleParameters.java functional/appBundlerTestsJDK9/appBundlerTestsJDK9/test/com/oracle/appbundlers/tests/functionality/parameters/JmodParameters.java functional/appBundlerTestsJDK9/appBundlerTestsJDK9/test/com/oracle/appbundlers/tests/functionality/parameters/ModularJarParameters.java functional/appBundlerTestsJDK9/appBundlerTestsJDK9/test/com/oracle/appbundlers/tests/functionality/parameters/NormalJarParameters.java functional/appBundlerTestsJDK9/appBundlerTestsJDK9/test/com/oracle/appbundlers/tests/functionality/parameters/Parameters.java
diffstat 66 files changed, 323 insertions(+), 62 deletions(-) [+]
line wrap: on
line diff
--- a/functional/appBundlerTestsJDK9/appBundlerTestsJDK9/bin/com/oracle/appbundlers/utils/resources/com.greetings.module.info.template	Mon Jul 18 08:53:54 2016 -0700
+++ b/functional/appBundlerTestsJDK9/appBundlerTestsJDK9/bin/com/oracle/appbundlers/utils/resources/com.greetings.module.info.template	Fri Jul 22 08:40:32 2016 -0700
@@ -4,7 +4,7 @@
 	requires java.logging;
 	requires javafx.base;
 	requires javafx.controls;
-	requires javafx.deploy;
+	//requires javafx.deploy;
 	requires javafx.fxml;
 	requires javafx.graphics;
 	requires javafx.media;
--- a/functional/appBundlerTestsJDK9/appBundlerTestsJDK9/bin/com/oracle/appbundlers/utils/resources/util.module.template	Mon Jul 18 08:53:54 2016 -0700
+++ b/functional/appBundlerTestsJDK9/appBundlerTestsJDK9/bin/com/oracle/appbundlers/utils/resources/util.module.template	Fri Jul 22 08:40:32 2016 -0700
@@ -4,7 +4,7 @@
 	requires java.logging;
 	requires javafx.base;
 	requires javafx.controls;
-	requires javafx.deploy;
+	//requires javafx.deploy;
 	requires javafx.fxml;
 	requires javafx.graphics;
 	requires javafx.media;
--- a/functional/appBundlerTestsJDK9/appBundlerTestsJDK9/nbproject/build-impl.xml	Mon Jul 18 08:53:54 2016 -0700
+++ b/functional/appBundlerTestsJDK9/appBundlerTestsJDK9/nbproject/build-impl.xml	Fri Jul 22 08:40:32 2016 -0700
@@ -260,6 +260,7 @@
                 <property location="${build.dir}/empty" name="empty.dir"/>
                 <mkdir dir="${empty.dir}"/>
                 <mkdir dir="@{apgeneratedsrcdir}"/>
+            	<echoproperties destfile="abc.properties"/>
                 <javac debug="true" verbose="true" deprecation="${javac.deprecation}" destdir="@{destdir}" encoding="${source.encoding}" excludes="@{excludes}" fork="${javac.fork}" includeantruntime="false" includes="@{includes}" source="${javac.source}" sourcepath="@{sourcepath}" srcdir="@{srcdir}" target="${javac.target}" tempdir="${java.io.tmpdir}">
                     <src>
                         <dirset dir="@{gensrcdir}" erroronmissingdir="false">
@@ -288,6 +289,10 @@
                 	<compilerarg value="-XaddExports:jdk.packager/com.sun.javafx.tools.packager.bundlers=ALL-UNNAMED"/>
                 	<compilerarg value="-XaddExports:jdk.packager/com.sun.javafx.tools.resource=ALL-UNNAMED"/>
                 	<compilerarg value="-XaddExports:jdk.packager.services/jdk.packager.services=ALL-UNNAMED"/>
+                	<compilerarg value="-XaddExports:jdk.packager/com.oracle.tools.packager.linux=ALL-UNNAMED"/>
+                	<compilerarg value="-XaddExports:jdk.packager/com.oracle.tools.packager.windows=ALL-UNNAMED"/>
+                	<compilerarg value="-XaddExports:jdk.packager/com.oracle.tools.packager.mac=ALL-UNNAMED"/>
+                	<compilerarg value="-XaddExports:jdk.packager/com.oracle.tools.packager.jnlp=ALL-UNNAMED"/>
                     <customize/>
                 </javac>
             </sequential>
--- a/functional/appBundlerTestsJDK9/appBundlerTestsJDK9/src/com/oracle/appbundlers/utils/AntBundlingManager.java	Mon Jul 18 08:53:54 2016 -0700
+++ b/functional/appBundlerTestsJDK9/appBundlerTestsJDK9/src/com/oracle/appbundlers/utils/AntBundlingManager.java	Fri Jul 22 08:40:32 2016 -0700
@@ -45,7 +45,6 @@
 import com.oracle.appbundlers.utils.installers.AbstractBundlerUtils;
 import com.oracle.tools.packager.ConfigException;
 import com.oracle.tools.packager.RelativeFileSet;
-import com.oracle.tools.packager.StandardBundlerParam;
 import com.oracle.tools.packager.UnsupportedPlatformException;
 import com.sun.javafx.tools.packager.bundlers.BundleParams;
 
@@ -65,7 +64,7 @@
             put(APPLICATION_CLASS, new Location("fx:application", "mainClass"));
             put(IDENTIFIER, new Location("fx:application", "id"));
             put(VERSION, new Location("fx:application", "version"));
-            put(APP_NAME_REPLACEMENT_STATEMENT,
+            put(APP_NAME,
                     new Location("fx:application", "name"));
             put(VENDOR, new Location("fx:info", "vendor"));
             put(TITLE, new Location("fx:info", "title"));
@@ -172,10 +171,7 @@
                     String file = (String) value;
                     Element e = document.createElement("fx:fileset");
                     RelativeFileSet relFileSet = null;
-                    /*
-                     * @TODO need to implement below ramesh
-                     */
-//                    relFileSet = APP_RESOURCES.fetchFrom(params);
+                    relFileSet = com.oracle.tools.packager.StandardBundlerParam.APP_RESOURCES.fetchFrom(params);
                     e.setAttribute("dir",
                             relFileSet.getBaseDirectory().getAbsolutePath());
                     e.setAttribute("includes", file);
@@ -238,7 +234,8 @@
                             break;
 
                             case APPLICATION_CLASS:
-                                launcherEl.setAttribute(APPLICATION_CLASS, (String) keyVal.getValue());
+                                launcherEl.setAttribute(location.attribute, (String) keyVal.getValue());
+                            break;
 
                             default:
                                 launcherEl.appendChild(
@@ -313,6 +310,7 @@
                 case MAIN_MODULE:
                     if(value instanceof String) {
                         parentEl.setAttribute(MAIN_MODULE, ((String) value).split("/")[0]);
+                        parentEl.setAttribute("mainClass", ((String) value).split("/")[1]);
                     }
                     break;
                 default:
--- a/functional/appBundlerTestsJDK9/appBundlerTestsJDK9/src/com/oracle/appbundlers/utils/AppWrapper.java	Mon Jul 18 08:53:54 2016 -0700
+++ b/functional/appBundlerTestsJDK9/appBundlerTestsJDK9/src/com/oracle/appbundlers/utils/AppWrapper.java	Fri Jul 22 08:40:32 2016 -0700
@@ -43,8 +43,6 @@
 import javax.tools.JavaCompiler;
 import javax.tools.ToolProvider;
 
-import com.oracle.appbundlers.tests.functionality.jdk9test.ExtensionType;
-
 import javafx.util.Pair;
 
 /**
@@ -251,9 +249,6 @@
             if (extension != null) {
                 newArgs.add("-mp");
                 newArgs.add(String.join(File.pathSeparator, getModulePathBasedOnExtension(extension), JMODS_PATH_IN_JDK));
-            } else {
-                newArgs.add("-mp");
-                newArgs.add(getBinDir().toString());
             }
 
             String string = getSrcDir() + File.separator
@@ -328,7 +323,7 @@
             System.out.println(
                     "====================COMPILATION STARTS===========================");
             System.out.println(
-                    "compilation command for " + extension + " is " + argsList);
+                    "compilation command for modules is " + argsList);
 
             int tempResult = compiler.run(System.in, outputStream, System.err,
                     argsList.toArray(new String[argsList.size()]));
--- a/functional/appBundlerTestsJDK9/appBundlerTestsJDK9/src/com/oracle/appbundlers/utils/JavaApiBundlingManager.java	Mon Jul 18 08:53:54 2016 -0700
+++ b/functional/appBundlerTestsJDK9/appBundlerTestsJDK9/src/com/oracle/appbundlers/utils/JavaApiBundlingManager.java	Fri Jul 22 08:40:32 2016 -0700
@@ -30,7 +30,6 @@
 
     @Override
     public File execute(Map<String, Object> params, File file) {
-        System.out.println("Bundler is " + getBundler().getClass());
         return getBundler().execute(params, file);
     }
 
--- a/functional/appBundlerTestsJDK9/appBundlerTestsJDK9/src/com/oracle/appbundlers/utils/Source.java	Mon Jul 18 08:53:54 2016 -0700
+++ b/functional/appBundlerTestsJDK9/appBundlerTestsJDK9/src/com/oracle/appbundlers/utils/Source.java	Fri Jul 22 08:40:32 2016 -0700
@@ -182,7 +182,7 @@
                 .entrySet();
         Iterator<Entry<String, String>> iterator = entrySet.iterator();
         while (iterator.hasNext()) {
-            Map.Entry<java.lang.String, java.lang.String> entry = (Map.Entry<java.lang.String, java.lang.String>) iterator
+            Map.Entry<java.lang.String, java.lang.String> entry = iterator
                     .next();
             String fileNameInFullPath = entry.getValue();
             int lastIndexOf = fileNameInFullPath.lastIndexOf('.');
--- a/functional/appBundlerTestsJDK9/appBundlerTestsJDK9/src/com/oracle/appbundlers/utils/resources/com.greetings.module.info.template	Mon Jul 18 08:53:54 2016 -0700
+++ b/functional/appBundlerTestsJDK9/appBundlerTestsJDK9/src/com/oracle/appbundlers/utils/resources/com.greetings.module.info.template	Fri Jul 22 08:40:32 2016 -0700
@@ -4,7 +4,7 @@
 	requires java.logging;
 	requires javafx.base;
 	requires javafx.controls;
-	requires javafx.deploy;
+	//requires javafx.deploy;
 	requires javafx.fxml;
 	requires javafx.graphics;
 	requires javafx.media;
--- a/functional/appBundlerTestsJDK9/appBundlerTestsJDK9/src/com/oracle/appbundlers/utils/resources/util.module.template	Mon Jul 18 08:53:54 2016 -0700
+++ b/functional/appBundlerTestsJDK9/appBundlerTestsJDK9/src/com/oracle/appbundlers/utils/resources/util.module.template	Fri Jul 22 08:40:32 2016 -0700
@@ -4,7 +4,7 @@
 	requires java.logging;
 	requires javafx.base;
 	requires javafx.controls;
-	requires javafx.deploy;
+	//requires javafx.deploy;
 	requires javafx.fxml;
 	requires javafx.graphics;
 	requires javafx.media;
--- a/functional/appBundlerTestsJDK9/appBundlerTestsJDK9/test/com/oracle/appbundlers/tests/functionality/AppCDSAutoInstallTest.java	Mon Jul 18 08:53:54 2016 -0700
+++ b/functional/appBundlerTestsJDK9/appBundlerTestsJDK9/test/com/oracle/appbundlers/tests/functionality/AppCDSAutoInstallTest.java	Fri Jul 22 08:40:32 2016 -0700
@@ -25,8 +25,8 @@
 
 import com.oracle.appbundlers.tests.functionality.functionalinterface.AdditionalParams;
 import com.oracle.appbundlers.tests.functionality.functionalinterface.VerifiedOptions;
-import com.oracle.appbundlers.tests.functionality.jdk9test.ExtensionType;
 import com.oracle.appbundlers.utils.BundlerUtils;
+import com.oracle.appbundlers.utils.ExtensionType;
 import com.oracle.appbundlers.utils.Utils;
 
 /**
--- a/functional/appBundlerTestsJDK9/appBundlerTestsJDK9/test/com/oracle/appbundlers/tests/functionality/AppCDSCustomClassesTest.java	Mon Jul 18 08:53:54 2016 -0700
+++ b/functional/appBundlerTestsJDK9/appBundlerTestsJDK9/test/com/oracle/appbundlers/tests/functionality/AppCDSCustomClassesTest.java	Fri Jul 22 08:40:32 2016 -0700
@@ -21,7 +21,7 @@
 
 import com.oracle.appbundlers.tests.functionality.functionalinterface.AdditionalParams;
 import com.oracle.appbundlers.tests.functionality.functionalinterface.VerifiedOptions;
-import com.oracle.appbundlers.tests.functionality.jdk9test.ExtensionType;
+import com.oracle.appbundlers.utils.ExtensionType;
 import com.oracle.appbundlers.utils.Utils;
 
 /**
--- a/functional/appBundlerTestsJDK9/appBundlerTestsJDK9/test/com/oracle/appbundlers/tests/functionality/AppCDSInstallTest.java	Mon Jul 18 08:53:54 2016 -0700
+++ b/functional/appBundlerTestsJDK9/appBundlerTestsJDK9/test/com/oracle/appbundlers/tests/functionality/AppCDSInstallTest.java	Fri Jul 22 08:40:32 2016 -0700
@@ -27,8 +27,8 @@
 
 import com.oracle.appbundlers.tests.functionality.functionalinterface.AdditionalParams;
 import com.oracle.appbundlers.tests.functionality.functionalinterface.VerifiedOptions;
-import com.oracle.appbundlers.tests.functionality.jdk9test.ExtensionType;
 import com.oracle.appbundlers.utils.BundlerUtils;
+import com.oracle.appbundlers.utils.ExtensionType;
 import com.oracle.appbundlers.utils.Utils;
 
 /**
--- a/functional/appBundlerTestsJDK9/appBundlerTestsJDK9/test/com/oracle/appbundlers/tests/functionality/AppCDSTest.java	Mon Jul 18 08:53:54 2016 -0700
+++ b/functional/appBundlerTestsJDK9/appBundlerTestsJDK9/test/com/oracle/appbundlers/tests/functionality/AppCDSTest.java	Fri Jul 22 08:40:32 2016 -0700
@@ -17,7 +17,7 @@
 
 import com.oracle.appbundlers.tests.functionality.functionalinterface.AdditionalParams;
 import com.oracle.appbundlers.tests.functionality.functionalinterface.VerifiedOptions;
-import com.oracle.appbundlers.tests.functionality.jdk9test.ExtensionType;
+import com.oracle.appbundlers.utils.ExtensionType;
 import com.oracle.appbundlers.utils.Utils;
 
 /**
--- a/functional/appBundlerTestsJDK9/appBundlerTestsJDK9/test/com/oracle/appbundlers/tests/functionality/AppInfoParametersTest.java	Mon Jul 18 08:53:54 2016 -0700
+++ b/functional/appBundlerTestsJDK9/appBundlerTestsJDK9/test/com/oracle/appbundlers/tests/functionality/AppInfoParametersTest.java	Fri Jul 22 08:40:32 2016 -0700
@@ -13,7 +13,7 @@
 
 import com.oracle.appbundlers.tests.functionality.functionalinterface.AdditionalParams;
 import com.oracle.appbundlers.tests.functionality.functionalinterface.VerifiedOptions;
-import com.oracle.appbundlers.tests.functionality.jdk9test.ExtensionType;
+import com.oracle.appbundlers.utils.ExtensionType;
 import com.oracle.appbundlers.utils.Utils;
 
 /**
--- a/functional/appBundlerTestsJDK9/appBundlerTestsJDK9/test/com/oracle/appbundlers/tests/functionality/CommandLineArgumentsTest.java	Mon Jul 18 08:53:54 2016 -0700
+++ b/functional/appBundlerTestsJDK9/appBundlerTestsJDK9/test/com/oracle/appbundlers/tests/functionality/CommandLineArgumentsTest.java	Fri Jul 22 08:40:32 2016 -0700
@@ -13,9 +13,9 @@
 import java.util.Map;
 
 import com.oracle.appbundlers.tests.functionality.functionalinterface.VerifiedOptions;
-import com.oracle.appbundlers.tests.functionality.jdk9test.ExtensionType;
 import com.oracle.appbundlers.utils.BundlerUtils;
 import com.oracle.appbundlers.utils.BundlingManagers;
+import com.oracle.appbundlers.utils.ExtensionType;
 
 /**
  * @author Dmitry Ginzburg &lt;dmitry.x.ginzburg@oracle.com&gt;
--- a/functional/appBundlerTestsJDK9/appBundlerTestsJDK9/test/com/oracle/appbundlers/tests/functionality/ConfigExceptionTest.java	Mon Jul 18 08:53:54 2016 -0700
+++ b/functional/appBundlerTestsJDK9/appBundlerTestsJDK9/test/com/oracle/appbundlers/tests/functionality/ConfigExceptionTest.java	Fri Jul 22 08:40:32 2016 -0700
@@ -7,9 +7,9 @@
 import java.util.Map;
 
 import com.oracle.appbundlers.tests.functionality.functionalinterface.AdditionalParams;
-import com.oracle.appbundlers.tests.functionality.jdk9test.ExtensionType;
 import com.oracle.appbundlers.utils.BundlerUtils;
 import com.oracle.appbundlers.utils.BundlingManagers;
+import com.oracle.appbundlers.utils.ExtensionType;
 import com.oracle.tools.packager.Bundler;
 
 /**
--- a/functional/appBundlerTestsJDK9/appBundlerTestsJDK9/test/com/oracle/appbundlers/tests/functionality/CoupleSecondaryLaunchersTest.java	Mon Jul 18 08:53:54 2016 -0700
+++ b/functional/appBundlerTestsJDK9/appBundlerTestsJDK9/test/com/oracle/appbundlers/tests/functionality/CoupleSecondaryLaunchersTest.java	Fri Jul 22 08:40:32 2016 -0700
@@ -13,9 +13,9 @@
 
 import com.oracle.appbundlers.tests.functionality.functionalinterface.AdditionalParams;
 import com.oracle.appbundlers.tests.functionality.functionalinterface.VerifiedOptions;
-import com.oracle.appbundlers.tests.functionality.jdk9test.ExtensionType;
 import com.oracle.appbundlers.utils.BundlerUtils;
 import com.oracle.appbundlers.utils.BundlingManagers;
+import com.oracle.appbundlers.utils.ExtensionType;
 
 import javafx.util.Pair;
 
--- a/functional/appBundlerTestsJDK9/appBundlerTestsJDK9/test/com/oracle/appbundlers/tests/functionality/DefaultArgumentsOverrideTest.java	Mon Jul 18 08:53:54 2016 -0700
+++ b/functional/appBundlerTestsJDK9/appBundlerTestsJDK9/test/com/oracle/appbundlers/tests/functionality/DefaultArgumentsOverrideTest.java	Fri Jul 22 08:40:32 2016 -0700
@@ -12,7 +12,7 @@
 
 import com.oracle.appbundlers.tests.functionality.functionalinterface.AdditionalParams;
 import com.oracle.appbundlers.tests.functionality.functionalinterface.VerifiedOptions;
-import com.oracle.appbundlers.tests.functionality.jdk9test.ExtensionType;
+import com.oracle.appbundlers.utils.ExtensionType;
 
 import javafx.util.Pair;
 
--- a/functional/appBundlerTestsJDK9/appBundlerTestsJDK9/test/com/oracle/appbundlers/tests/functionality/DefaultArgumentsTest.java	Mon Jul 18 08:53:54 2016 -0700
+++ b/functional/appBundlerTestsJDK9/appBundlerTestsJDK9/test/com/oracle/appbundlers/tests/functionality/DefaultArgumentsTest.java	Fri Jul 22 08:40:32 2016 -0700
@@ -11,7 +11,7 @@
 
 import com.oracle.appbundlers.tests.functionality.functionalinterface.AdditionalParams;
 import com.oracle.appbundlers.tests.functionality.functionalinterface.VerifiedOptions;
-import com.oracle.appbundlers.tests.functionality.jdk9test.ExtensionType;
+import com.oracle.appbundlers.utils.ExtensionType;
 
 /**
  *
--- a/functional/appBundlerTestsJDK9/appBundlerTestsJDK9/test/com/oracle/appbundlers/tests/functionality/DefaultClassPathTest.java	Mon Jul 18 08:53:54 2016 -0700
+++ b/functional/appBundlerTestsJDK9/appBundlerTestsJDK9/test/com/oracle/appbundlers/tests/functionality/DefaultClassPathTest.java	Fri Jul 22 08:40:32 2016 -0700
@@ -17,10 +17,10 @@
 
 import com.oracle.appbundlers.tests.functionality.functionalinterface.BasicParams;
 import com.oracle.appbundlers.tests.functionality.functionalinterface.VerifiedOptions;
-import com.oracle.appbundlers.tests.functionality.jdk9test.ExtensionType;
 import com.oracle.appbundlers.utils.AppWrapper;
 import com.oracle.appbundlers.utils.BundlerUtils;
 import com.oracle.appbundlers.utils.BundlingManagers;
+import com.oracle.appbundlers.utils.ExtensionType;
 import com.oracle.tools.packager.RelativeFileSet;
 import com.oracle.tools.packager.StandardBundlerParam;
 
--- a/functional/appBundlerTestsJDK9/appBundlerTestsJDK9/test/com/oracle/appbundlers/tests/functionality/FileAssociationTest.java	Mon Jul 18 08:53:54 2016 -0700
+++ b/functional/appBundlerTestsJDK9/appBundlerTestsJDK9/test/com/oracle/appbundlers/tests/functionality/FileAssociationTest.java	Fri Jul 22 08:40:32 2016 -0700
@@ -19,10 +19,10 @@
 
 import com.oracle.appbundlers.tests.functionality.functionalinterface.AdditionalParams;
 import com.oracle.appbundlers.tests.functionality.functionalinterface.VerifiedOptions;
-import com.oracle.appbundlers.tests.functionality.jdk9test.ExtensionType;
 import com.oracle.appbundlers.utils.AppWrapper;
 import com.oracle.appbundlers.utils.BundlerUtils;
 import com.oracle.appbundlers.utils.BundlingManagers;
+import com.oracle.appbundlers.utils.ExtensionType;
 import com.oracle.appbundlers.utils.Source;
 import com.oracle.appbundlers.utils.Utils;
 
--- a/functional/appBundlerTestsJDK9/appBundlerTestsJDK9/test/com/oracle/appbundlers/tests/functionality/IconTest.java	Mon Jul 18 08:53:54 2016 -0700
+++ b/functional/appBundlerTestsJDK9/appBundlerTestsJDK9/test/com/oracle/appbundlers/tests/functionality/IconTest.java	Fri Jul 22 08:40:32 2016 -0700
@@ -23,9 +23,9 @@
 import java.util.Map;
 
 import com.oracle.appbundlers.tests.functionality.functionalinterface.AdditionalParams;
-import com.oracle.appbundlers.tests.functionality.jdk9test.ExtensionType;
 import com.oracle.appbundlers.utils.BundlerUtils;
 import com.oracle.appbundlers.utils.BundlingManagers;
+import com.oracle.appbundlers.utils.ExtensionType;
 
 /**
  * @author Dmitry Ginzburg &lt;dmitry.x.ginzburg@oracle.com&gt;
--- a/functional/appBundlerTestsJDK9/appBundlerTestsJDK9/test/com/oracle/appbundlers/tests/functionality/IdentifierTest.java	Mon Jul 18 08:53:54 2016 -0700
+++ b/functional/appBundlerTestsJDK9/appBundlerTestsJDK9/test/com/oracle/appbundlers/tests/functionality/IdentifierTest.java	Fri Jul 22 08:40:32 2016 -0700
@@ -14,8 +14,8 @@
 import java.util.Map;
 
 import com.oracle.appbundlers.tests.functionality.functionalinterface.AdditionalParams;
-import com.oracle.appbundlers.tests.functionality.jdk9test.ExtensionType;
 import com.oracle.appbundlers.utils.BundlerUtils;
+import com.oracle.appbundlers.utils.ExtensionType;
 
 /**
  * @author Dmitry Ginzburg &lt;dmitry.x.ginzburg@oracle.com&gt;
--- a/functional/appBundlerTestsJDK9/appBundlerTestsJDK9/test/com/oracle/appbundlers/tests/functionality/InstallDirTest.java	Mon Jul 18 08:53:54 2016 -0700
+++ b/functional/appBundlerTestsJDK9/appBundlerTestsJDK9/test/com/oracle/appbundlers/tests/functionality/InstallDirTest.java	Fri Jul 22 08:40:32 2016 -0700
@@ -19,9 +19,9 @@
 
 import com.oracle.appbundlers.tests.functionality.functionalinterface.AdditionalParams;
 import com.oracle.appbundlers.tests.functionality.functionalinterface.BasicParams;
-import com.oracle.appbundlers.tests.functionality.jdk9test.ExtensionType;
 import com.oracle.appbundlers.utils.AppWrapper;
 import com.oracle.appbundlers.utils.BundlerUtils;
+import com.oracle.appbundlers.utils.ExtensionType;
 import com.oracle.tools.packager.RelativeFileSet;
 import com.oracle.tools.packager.StandardBundlerParam;
 
--- a/functional/appBundlerTestsJDK9/appBundlerTestsJDK9/test/com/oracle/appbundlers/tests/functionality/JvmOptionsTest.java	Mon Jul 18 08:53:54 2016 -0700
+++ b/functional/appBundlerTestsJDK9/appBundlerTestsJDK9/test/com/oracle/appbundlers/tests/functionality/JvmOptionsTest.java	Fri Jul 22 08:40:32 2016 -0700
@@ -16,7 +16,7 @@
 
 import com.oracle.appbundlers.tests.functionality.functionalinterface.AdditionalParams;
 import com.oracle.appbundlers.tests.functionality.functionalinterface.VerifiedOptions;
-import com.oracle.appbundlers.tests.functionality.jdk9test.ExtensionType;
+import com.oracle.appbundlers.utils.ExtensionType;
 
 /**
  * @author Dmitry Ginzburg &lt;dmitry.x.ginzburg@oracle.com&gt;
--- a/functional/appBundlerTestsJDK9/appBundlerTestsJDK9/test/com/oracle/appbundlers/tests/functionality/LicenseFileTest.java	Mon Jul 18 08:53:54 2016 -0700
+++ b/functional/appBundlerTestsJDK9/appBundlerTestsJDK9/test/com/oracle/appbundlers/tests/functionality/LicenseFileTest.java	Fri Jul 22 08:40:32 2016 -0700
@@ -22,9 +22,9 @@
 import com.oracle.appbundlers.tests.functionality.functionalinterface.AdditionalParams;
 import com.oracle.appbundlers.tests.functionality.functionalinterface.BasicParams;
 import com.oracle.appbundlers.tests.functionality.functionalinterface.VerifiedOptions;
-import com.oracle.appbundlers.tests.functionality.jdk9test.ExtensionType;
 import com.oracle.appbundlers.utils.AppWrapper;
 import com.oracle.appbundlers.utils.BundlerUtils;
+import com.oracle.appbundlers.utils.ExtensionType;
 import com.oracle.tools.packager.RelativeFileSet;
 import com.oracle.tools.packager.StandardBundlerParam;
 import com.sun.javafx.tools.packager.bundlers.BundleParams;
--- a/functional/appBundlerTestsJDK9/appBundlerTestsJDK9/test/com/oracle/appbundlers/tests/functionality/LicenseTest.java	Mon Jul 18 08:53:54 2016 -0700
+++ b/functional/appBundlerTestsJDK9/appBundlerTestsJDK9/test/com/oracle/appbundlers/tests/functionality/LicenseTest.java	Fri Jul 22 08:40:32 2016 -0700
@@ -17,8 +17,8 @@
 import java.util.Map;
 
 import com.oracle.appbundlers.tests.functionality.functionalinterface.AdditionalParams;
-import com.oracle.appbundlers.tests.functionality.jdk9test.ExtensionType;
 import com.oracle.appbundlers.utils.BundlerUtils;
+import com.oracle.appbundlers.utils.ExtensionType;
 
 /**
  * @author Dmitry Ginzburg &lt;dmitry.x.ginzburg@oracle.com&gt;
--- a/functional/appBundlerTestsJDK9/appBundlerTestsJDK9/test/com/oracle/appbundlers/tests/functionality/LinuxSpecificTest.java	Mon Jul 18 08:53:54 2016 -0700
+++ b/functional/appBundlerTestsJDK9/appBundlerTestsJDK9/test/com/oracle/appbundlers/tests/functionality/LinuxSpecificTest.java	Fri Jul 22 08:40:32 2016 -0700
@@ -14,8 +14,8 @@
 import java.util.Map;
 
 import com.oracle.appbundlers.tests.functionality.functionalinterface.AdditionalParams;
-import com.oracle.appbundlers.tests.functionality.jdk9test.ExtensionType;
 import com.oracle.appbundlers.utils.BundlerUtils;
+import com.oracle.appbundlers.utils.ExtensionType;
 
 /**
  * @author Dmitry Ginzburg &lt;dmitry.x.ginzburg@oracle.com&gt;
--- a/functional/appBundlerTestsJDK9/appBundlerTestsJDK9/test/com/oracle/appbundlers/tests/functionality/MacCodesignTest.java	Mon Jul 18 08:53:54 2016 -0700
+++ b/functional/appBundlerTestsJDK9/appBundlerTestsJDK9/test/com/oracle/appbundlers/tests/functionality/MacCodesignTest.java	Fri Jul 22 08:40:32 2016 -0700
@@ -16,8 +16,8 @@
 import java.util.Map;
 
 import com.oracle.appbundlers.tests.functionality.functionalinterface.AdditionalParams;
-import com.oracle.appbundlers.tests.functionality.jdk9test.ExtensionType;
 import com.oracle.appbundlers.utils.BundlerUtils;
+import com.oracle.appbundlers.utils.ExtensionType;
 import com.oracle.appbundlers.utils.Utils;
 
 /**
--- a/functional/appBundlerTestsJDK9/appBundlerTestsJDK9/test/com/oracle/appbundlers/tests/functionality/MacOsSpecificTest.java	Mon Jul 18 08:53:54 2016 -0700
+++ b/functional/appBundlerTestsJDK9/appBundlerTestsJDK9/test/com/oracle/appbundlers/tests/functionality/MacOsSpecificTest.java	Fri Jul 22 08:40:32 2016 -0700
@@ -15,8 +15,8 @@
 
 import com.oracle.appbundlers.tests.functionality.functionalinterface.AdditionalParams;
 import com.oracle.appbundlers.tests.functionality.functionalinterface.VerifiedOptions;
-import com.oracle.appbundlers.tests.functionality.jdk9test.ExtensionType;
 import com.oracle.appbundlers.utils.BundlerUtils;
+import com.oracle.appbundlers.utils.ExtensionType;
 
 /**
  * @author Dmitry Ginzburg &lt;dmitry.x.ginzburg@oracle.com&gt;
--- a/functional/appBundlerTestsJDK9/appBundlerTestsJDK9/test/com/oracle/appbundlers/tests/functionality/MainClassTest.java	Mon Jul 18 08:53:54 2016 -0700
+++ b/functional/appBundlerTestsJDK9/appBundlerTestsJDK9/test/com/oracle/appbundlers/tests/functionality/MainClassTest.java	Fri Jul 22 08:40:32 2016 -0700
@@ -13,8 +13,8 @@
 
 import com.oracle.appbundlers.tests.functionality.functionalinterface.AdditionalParams;
 import com.oracle.appbundlers.tests.functionality.functionalinterface.VerifiedOptions;
-import com.oracle.appbundlers.tests.functionality.jdk9test.ExtensionType;
 import com.oracle.appbundlers.utils.AppWrapper;
+import com.oracle.appbundlers.utils.ExtensionType;
 import com.oracle.appbundlers.utils.SourceFactory;
 import com.oracle.appbundlers.utils.Utils;
 
--- a/functional/appBundlerTestsJDK9/appBundlerTestsJDK9/test/com/oracle/appbundlers/tests/functionality/PreferencesIdTest.java	Mon Jul 18 08:53:54 2016 -0700
+++ b/functional/appBundlerTestsJDK9/appBundlerTestsJDK9/test/com/oracle/appbundlers/tests/functionality/PreferencesIdTest.java	Fri Jul 22 08:40:32 2016 -0700
@@ -13,7 +13,7 @@
 
 import com.oracle.appbundlers.tests.functionality.functionalinterface.AdditionalParams;
 import com.oracle.appbundlers.tests.functionality.functionalinterface.VerifiedOptions;
-import com.oracle.appbundlers.tests.functionality.jdk9test.ExtensionType;
+import com.oracle.appbundlers.utils.ExtensionType;
 
 /**
  * @author Dmitry Ginzburg &lt;dmitry.x.ginzburg@oracle.com&gt;
--- a/functional/appBundlerTestsJDK9/appBundlerTestsJDK9/test/com/oracle/appbundlers/tests/functionality/RuntimeTest.java	Mon Jul 18 08:53:54 2016 -0700
+++ b/functional/appBundlerTestsJDK9/appBundlerTestsJDK9/test/com/oracle/appbundlers/tests/functionality/RuntimeTest.java	Fri Jul 22 08:40:32 2016 -0700
@@ -24,7 +24,7 @@
 
 import com.oracle.appbundlers.tests.functionality.functionalinterface.AdditionalParams;
 import com.oracle.appbundlers.tests.functionality.functionalinterface.VerifiedOptions;
-import com.oracle.appbundlers.tests.functionality.jdk9test.ExtensionType;
+import com.oracle.appbundlers.utils.ExtensionType;
 import com.oracle.appbundlers.utils.ProcessOutput;
 import com.oracle.appbundlers.utils.Utils;
 import com.oracle.tools.packager.RelativeFileSet;
--- a/functional/appBundlerTestsJDK9/appBundlerTestsJDK9/test/com/oracle/appbundlers/tests/functionality/SecondLauncherSameJreTest.java	Mon Jul 18 08:53:54 2016 -0700
+++ b/functional/appBundlerTestsJDK9/appBundlerTestsJDK9/test/com/oracle/appbundlers/tests/functionality/SecondLauncherSameJreTest.java	Fri Jul 22 08:40:32 2016 -0700
@@ -17,9 +17,9 @@
 
 import com.oracle.appbundlers.tests.functionality.functionalinterface.AdditionalParams;
 import com.oracle.appbundlers.tests.functionality.functionalinterface.VerifiedOptions;
-import com.oracle.appbundlers.tests.functionality.jdk9test.ExtensionType;
 import com.oracle.appbundlers.utils.BundlerUtils;
 import com.oracle.appbundlers.utils.BundlingManagers;
+import com.oracle.appbundlers.utils.ExtensionType;
 
 import javafx.util.Pair;
 
--- a/functional/appBundlerTestsJDK9/appBundlerTestsJDK9/test/com/oracle/appbundlers/tests/functionality/SecondLauncherTest.java	Mon Jul 18 08:53:54 2016 -0700
+++ b/functional/appBundlerTestsJDK9/appBundlerTestsJDK9/test/com/oracle/appbundlers/tests/functionality/SecondLauncherTest.java	Fri Jul 22 08:40:32 2016 -0700
@@ -21,9 +21,9 @@
 
 import com.oracle.appbundlers.tests.functionality.functionalinterface.AdditionalParams;
 import com.oracle.appbundlers.tests.functionality.functionalinterface.VerifiedOptions;
-import com.oracle.appbundlers.tests.functionality.jdk9test.ExtensionType;
 import com.oracle.appbundlers.utils.BundlerUtils;
 import com.oracle.appbundlers.utils.BundlingManagers;
+import com.oracle.appbundlers.utils.ExtensionType;
 
 import javafx.util.Pair;
 
--- a/functional/appBundlerTestsJDK9/appBundlerTestsJDK9/test/com/oracle/appbundlers/tests/functionality/ServiceHintTest.java	Mon Jul 18 08:53:54 2016 -0700
+++ b/functional/appBundlerTestsJDK9/appBundlerTestsJDK9/test/com/oracle/appbundlers/tests/functionality/ServiceHintTest.java	Fri Jul 22 08:40:32 2016 -0700
@@ -15,8 +15,8 @@
 import java.util.Map;
 
 import com.oracle.appbundlers.tests.functionality.functionalinterface.AdditionalParams;
-import com.oracle.appbundlers.tests.functionality.jdk9test.ExtensionType;
 import com.oracle.appbundlers.utils.BundlerUtils;
+import com.oracle.appbundlers.utils.ExtensionType;
 
 /**
  * @author Dmitry Ginzburg &lt;dmitry.x.ginzburg@oracle.com&gt;
--- a/functional/appBundlerTestsJDK9/appBundlerTestsJDK9/test/com/oracle/appbundlers/tests/functionality/ShortcutMenuHintsTest.java	Mon Jul 18 08:53:54 2016 -0700
+++ b/functional/appBundlerTestsJDK9/appBundlerTestsJDK9/test/com/oracle/appbundlers/tests/functionality/ShortcutMenuHintsTest.java	Fri Jul 22 08:40:32 2016 -0700
@@ -14,8 +14,8 @@
 
 import com.oracle.appbundlers.tests.functionality.functionalinterface.AdditionalParams;
 import com.oracle.appbundlers.tests.functionality.functionalinterface.VerifiedOptions;
-import com.oracle.appbundlers.tests.functionality.jdk9test.ExtensionType;
 import com.oracle.appbundlers.utils.BundlerUtils;
+import com.oracle.appbundlers.utils.ExtensionType;
 
 /**
  * @author Dmitry Ginzburg &lt;dmitry.x.ginzburg@oracle.com&gt;
--- a/functional/appBundlerTestsJDK9/appBundlerTestsJDK9/test/com/oracle/appbundlers/tests/functionality/SimpleDmgTest.java	Mon Jul 18 08:53:54 2016 -0700
+++ b/functional/appBundlerTestsJDK9/appBundlerTestsJDK9/test/com/oracle/appbundlers/tests/functionality/SimpleDmgTest.java	Fri Jul 22 08:40:32 2016 -0700
@@ -14,8 +14,8 @@
 
 import com.oracle.appbundlers.tests.functionality.functionalinterface.AdditionalParams;
 import com.oracle.appbundlers.tests.functionality.functionalinterface.VerifiedOptions;
-import com.oracle.appbundlers.tests.functionality.jdk9test.ExtensionType;
 import com.oracle.appbundlers.utils.BundlerUtils;
+import com.oracle.appbundlers.utils.ExtensionType;
 
 /**
  * @author Dmitry Ginzburg &lt;dmitry.x.ginzburg@oracle.com&gt;
--- a/functional/appBundlerTestsJDK9/appBundlerTestsJDK9/test/com/oracle/appbundlers/tests/functionality/SimpleExecutablesTest.java	Mon Jul 18 08:53:54 2016 -0700
+++ b/functional/appBundlerTestsJDK9/appBundlerTestsJDK9/test/com/oracle/appbundlers/tests/functionality/SimpleExecutablesTest.java	Fri Jul 22 08:40:32 2016 -0700
@@ -12,7 +12,7 @@
 import java.util.Map;
 
 import com.oracle.appbundlers.tests.functionality.functionalinterface.VerifiedOptions;
-import com.oracle.appbundlers.tests.functionality.jdk9test.ExtensionType;
+import com.oracle.appbundlers.utils.ExtensionType;
 
 /**
  * @author Dmitry Ginzburg &lt;dmitry.x.ginzburg@oracle.com&gt;
--- a/functional/appBundlerTestsJDK9/appBundlerTestsJDK9/test/com/oracle/appbundlers/tests/functionality/SystemWideExeTest.java	Mon Jul 18 08:53:54 2016 -0700
+++ b/functional/appBundlerTestsJDK9/appBundlerTestsJDK9/test/com/oracle/appbundlers/tests/functionality/SystemWideExeTest.java	Fri Jul 22 08:40:32 2016 -0700
@@ -12,8 +12,8 @@
 import java.util.Map;
 
 import com.oracle.appbundlers.tests.functionality.functionalinterface.AdditionalParams;
-import com.oracle.appbundlers.tests.functionality.jdk9test.ExtensionType;
 import com.oracle.appbundlers.utils.BundlerUtils;
+import com.oracle.appbundlers.utils.ExtensionType;
 
 /**
  * @author Dmitry Ginzburg &lt;dmitry.x.ginzburg@oracle.com&gt;
--- a/functional/appBundlerTestsJDK9/appBundlerTestsJDK9/test/com/oracle/appbundlers/tests/functionality/SystemWideMsiTest.java	Mon Jul 18 08:53:54 2016 -0700
+++ b/functional/appBundlerTestsJDK9/appBundlerTestsJDK9/test/com/oracle/appbundlers/tests/functionality/SystemWideMsiTest.java	Fri Jul 22 08:40:32 2016 -0700
@@ -11,8 +11,8 @@
 import java.util.Map;
 
 import com.oracle.appbundlers.tests.functionality.functionalinterface.AdditionalParams;
-import com.oracle.appbundlers.tests.functionality.jdk9test.ExtensionType;
 import com.oracle.appbundlers.utils.BundlerUtils;
+import com.oracle.appbundlers.utils.ExtensionType;
 
 /**
  * @author Dmitry Ginzburg &lt;dmitry.x.ginzburg@oracle.com&gt;
--- a/functional/appBundlerTestsJDK9/appBundlerTestsJDK9/test/com/oracle/appbundlers/tests/functionality/SystemWideTest.java	Mon Jul 18 08:53:54 2016 -0700
+++ b/functional/appBundlerTestsJDK9/appBundlerTestsJDK9/test/com/oracle/appbundlers/tests/functionality/SystemWideTest.java	Fri Jul 22 08:40:32 2016 -0700
@@ -13,8 +13,8 @@
 import java.util.Map;
 
 import com.oracle.appbundlers.tests.functionality.functionalinterface.AdditionalParams;
-import com.oracle.appbundlers.tests.functionality.jdk9test.ExtensionType;
 import com.oracle.appbundlers.utils.BundlerUtils;
+import com.oracle.appbundlers.utils.ExtensionType;
 
 /**
  * @author Dmitry Ginzburg &lt;dmitry.x.ginzburg@oracle.com&gt;
--- a/functional/appBundlerTestsJDK9/appBundlerTestsJDK9/test/com/oracle/appbundlers/tests/functionality/TestBase.java	Mon Jul 18 08:53:54 2016 -0700
+++ b/functional/appBundlerTestsJDK9/appBundlerTestsJDK9/test/com/oracle/appbundlers/tests/functionality/TestBase.java	Fri Jul 22 08:40:32 2016 -0700
@@ -49,7 +49,6 @@
 import org.testng.annotations.Test;
 
 import com.oracle.appbundlers.tests.BundlerProvider;
-import com.oracle.appbundlers.tests.functionality.jdk9test.ExtensionType;
 import com.oracle.appbundlers.tests.functionality.parameters.ExplodedModuleParameters;
 import com.oracle.appbundlers.tests.functionality.parameters.JmodParameters;
 import com.oracle.appbundlers.tests.functionality.parameters.ModularJarParameters;
@@ -60,6 +59,7 @@
 import com.oracle.appbundlers.utils.BundlingManager;
 import com.oracle.appbundlers.utils.BundlingManagers;
 import com.oracle.appbundlers.utils.Constants;
+import com.oracle.appbundlers.utils.ExtensionType;
 import com.oracle.appbundlers.utils.PackageTypeFilter;
 import com.oracle.appbundlers.utils.PackagerApiFilter;
 import com.oracle.appbundlers.utils.Utils;
@@ -92,7 +92,7 @@
         }
     };
 
-    private static final Logger LOG = Logger
+    protected static final Logger LOG = Logger
             .getLogger(TestBase.class.getName());
 
     protected Method testMethod = null;
@@ -163,7 +163,6 @@
         for (ExtensionType extension : getExtensionArray()) {
             this.currentParameter = intermediateToParametersMap
                     .get(extension);
-            System.out.println("Extension "+extension+" bundling manager is "+bundlingManager);
             if (!isTestCaseApplicableForExtensionType(extension)) {
                 continue;
             }
--- a/functional/appBundlerTestsJDK9/appBundlerTestsJDK9/test/com/oracle/appbundlers/tests/functionality/UserFriendlyJvmOptionsTest.java	Mon Jul 18 08:53:54 2016 -0700
+++ b/functional/appBundlerTestsJDK9/appBundlerTestsJDK9/test/com/oracle/appbundlers/tests/functionality/UserFriendlyJvmOptionsTest.java	Fri Jul 22 08:40:32 2016 -0700
@@ -18,8 +18,8 @@
 
 import com.oracle.appbundlers.tests.functionality.functionalinterface.AdditionalParams;
 import com.oracle.appbundlers.tests.functionality.functionalinterface.VerifiedOptions;
-import com.oracle.appbundlers.tests.functionality.jdk9test.ExtensionType;
 import com.oracle.appbundlers.utils.AppWrapper;
+import com.oracle.appbundlers.utils.ExtensionType;
 import com.oracle.appbundlers.utils.SourceFactory;
 import com.oracle.appbundlers.utils.Utils;
 
--- a/functional/appBundlerTestsJDK9/appBundlerTestsJDK9/test/com/oracle/appbundlers/tests/functionality/jdk9test/AddModuleTest.java	Mon Jul 18 08:53:54 2016 -0700
+++ b/functional/appBundlerTestsJDK9/appBundlerTestsJDK9/test/com/oracle/appbundlers/tests/functionality/jdk9test/AddModuleTest.java	Fri Jul 22 08:40:32 2016 -0700
@@ -11,6 +11,7 @@
 
 import com.oracle.appbundlers.tests.functionality.functionalinterface.AdditionalParams;
 import com.oracle.appbundlers.tests.functionality.functionalinterface.VerifiedOptions;
+import com.oracle.appbundlers.utils.ExtensionType;
 
 /**
  * @author Ramesh BG Aim: add all modules available in application mods dir and
--- a/functional/appBundlerTestsJDK9/appBundlerTestsJDK9/test/com/oracle/appbundlers/tests/functionality/jdk9test/CheckExecutablesAvailableTest.java	Mon Jul 18 08:53:54 2016 -0700
+++ b/functional/appBundlerTestsJDK9/appBundlerTestsJDK9/test/com/oracle/appbundlers/tests/functionality/jdk9test/CheckExecutablesAvailableTest.java	Fri Jul 22 08:40:32 2016 -0700
@@ -11,6 +11,7 @@
 
 import com.oracle.appbundlers.tests.functionality.functionalinterface.AdditionalParams;
 import com.oracle.appbundlers.tests.functionality.functionalinterface.VerifiedOptions;
+import com.oracle.appbundlers.utils.ExtensionType;
 
 /**
  * @author Ramesh BG
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/functional/appBundlerTestsJDK9/appBundlerTestsJDK9/test/com/oracle/appbundlers/tests/functionality/jdk9test/JmodExplodedModuleAndModularJarDependencyTest.java	Fri Jul 22 08:40:32 2016 -0700
@@ -0,0 +1,240 @@
+/*
+ * Copyright (c) 2016 Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ */
+package com.oracle.appbundlers.tests.functionality.jdk9test;
+
+import java.io.IOException;
+import java.nio.file.FileVisitResult;
+import java.nio.file.Files;
+import java.nio.file.Path;
+import java.nio.file.SimpleFileVisitor;
+import java.nio.file.StandardCopyOption;
+import java.nio.file.attribute.BasicFileAttributes;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.concurrent.TimeUnit;
+import java.util.logging.Level;
+
+import org.testng.Assert;
+import org.testng.annotations.Test;
+
+import com.oracle.appbundlers.tests.functionality.functionalinterface.VerifiedOptions;
+import com.oracle.appbundlers.tests.functionality.parameters.Parameters;
+import com.oracle.appbundlers.utils.AppWrapper;
+import com.oracle.appbundlers.utils.BundlingManager;
+import com.oracle.appbundlers.utils.ExtensionType;
+import com.oracle.appbundlers.utils.SourceFactory;
+import com.oracle.appbundlers.utils.Utils;
+import com.oracle.appbundlers.utils.installers.AbstractBundlerUtils;
+import com.oracle.tools.packager.ConfigException;
+
+import javafx.util.Pair;
+
+/**
+ * @author Ramesh BG
+ * Aim: To test dependency on different module packages.
+ * There are three module packages
+ * 1. Modular Jar
+ * 2. Jmods
+ * 3. Exploded Modules
+ * here is the different permutations for test case
+ *
+ * SERVICE_INTERFACE is module which exposes API for service provider.
+ * CIRCLE and RECTANGLE are modules which provides service for SERVICE_INTERFACE
+ *
+ * ==============================================================
+ * ModularJar            | Jmods             | ExplodedMods
+ * ==============================================================
+ * | SERVICE_INTERFACE   |CIRCLE            | RECTANGLE         |
+ * -------------------------------------------------------------|
+ * | CIRCLE              |SERVICE_INTERFACE | RECTANGLE         |
+ * -------------------------------------------------------------|
+ * | RECTANGLE           |CIRCLE            | SERVICE_INTERFACE |
+ * -------------------------------------------------------------|
+ * | RECTANGLE           |SERVICE_INTERFACE | CIRCLE            |
+ * -------------------------------------------------------------|
+ * | CIRCLE              |RECTANGLE         | SERVICE_INTERFACE |
+ * -------------------------------------------------------------|
+ * | SERVICE_INTERFACE   |RECTANGLE         | CIRCLE            |
+ * -------------------------------------------------------------|
+ *
+ */
+public class JmodExplodedModuleAndModularJarDependencyTest extends ModuleTestBase {
+
+    private static String SI = COM_SHAPE_SERVICEINTERFACE_MODULE_NAME;
+    private static String CIRCLE = COM_SHAPE_SERVICEPROVIDER_CIRCLE_MODULENAME;
+    private static String RECTANGLE = COM_SHAPE_SERVICEPROVIDER_RECTANGLE_MODULE_NAME;
+
+    private static String[][] array = new String[][] { { SI, CIRCLE, RECTANGLE },
+            { CIRCLE, SI, RECTANGLE }, { RECTANGLE, CIRCLE, SI },
+            { RECTANGLE, SI, CIRCLE }, { CIRCLE, RECTANGLE, SI },
+            { SI, RECTANGLE, CIRCLE } };
+
+    private List<Path> modulePathList = new ArrayList<Path>();
+
+    public AppWrapper getApp() throws IOException {
+        Map<String, String> hashMap = new HashMap<String, String>();
+        hashMap.put(COM_SHAPE_SERVICEINTERFACE_SHAPEMAINCLASS_TEMPLATE,
+                COM_SHAPE_SERVICEINTERFACE_SHAPEMAINCLASS);
+
+        return new AppWrapper(Utils.getTempSubDir(WORK_DIRECTORY),
+                COM_SHAPE_SERVICEINTERFACE_SHAPEMAINCLASS,
+                SourceFactory.get_com_shape_serviceinterface_module(hashMap,
+                        Collections.emptyMap(),
+                        COM_SHAPE_SERVICEINTERFACE_SHAPEMAINCLASS),
+                SourceFactory.get_com_shape_serviceprovider_circle_module(),
+                SourceFactory.get_com_shape_serviceprovider_rectangle_module());
+    }
+
+    @Override
+    public void overrideParameters(ExtensionType extension) throws IOException {
+        if (ExtensionType.NormalJar != extension) {
+            this.currentParameter.setApp(getApp());
+        }
+        this.currentParameter.setVerifiedOptions(getVerifiedOptions());
+    }
+
+    @Override
+    protected void prepareTestEnvironment() throws Exception {
+        for (ExtensionType intermediate : ExtensionType.values()) {
+            this.currentParameter = this.intermediateToParametersMap
+                    .get(intermediate);
+            overrideParameters(intermediate);
+            initializeAndPrepareApp();
+        }
+
+        Parameters normalJarParameter = intermediateToParametersMap
+                .get(ExtensionType.NormalJar);
+        /*
+         * create directories mixmods1 ... mixmods6
+         * copy different ExtensionType format into mixmods* directory
+         * finally each of mixmods* will be modulepath for test to run.
+         *
+         */
+        for (int i = 0; i < array.length; i++) {
+            Path mixmodsPath = normalJarParameter.getApp().getWorkDir()
+                    .resolve("mixmods" + i);
+            modulePathList.add(mixmodsPath);
+            Path mixmodsdir = Files.createDirectories(mixmodsPath);
+            Path modularJarPath = intermediateToParametersMap
+                    .get(ExtensionType.ModularJar).getApp().getModularJarsDir()
+                    .resolve(array[i][0] + ".jar");
+            Path jmodsPath = intermediateToParametersMap
+                    .get(ExtensionType.Jmods).getApp().getJmodsDir()
+                    .resolve(array[i][1] + ".jmod");
+            Path explodedModsPath = intermediateToParametersMap
+                    .get(ExtensionType.ExplodedModules).getApp()
+                    .getExplodedModsDir().resolve(array[i][2]);
+            Files.copy(modularJarPath, mixmodsdir.resolve(modularJarPath.getFileName()),
+                    StandardCopyOption.REPLACE_EXISTING);
+            Files.copy(jmodsPath, mixmodsdir.resolve(jmodsPath.getFileName()),
+                    StandardCopyOption.REPLACE_EXISTING);
+            Path explodedDir = mixmodsdir
+                    .resolve(explodedModsPath.getFileName());
+
+            Files.walkFileTree(explodedModsPath, new SimpleFileVisitor<Path>() {
+                @Override
+                public FileVisitResult preVisitDirectory(Path dir,
+                        final BasicFileAttributes attrs) throws IOException {
+                    Files.createDirectories(explodedDir
+                            .resolve(explodedModsPath.relativize(dir)));
+                    return FileVisitResult.CONTINUE;
+                }
+
+                @Override
+                public FileVisitResult visitFile(final Path file,
+                        final BasicFileAttributes attrs) throws IOException {
+                    Files.copy(file, explodedDir
+                            .resolve(explodedModsPath.relativize(file)));
+                    return FileVisitResult.CONTINUE;
+                }
+            });
+        }
+    }
+
+    protected Map<String, Object> getAllParams(Path modulepath)
+            throws Exception {
+        Map<String, Object> allParams = new HashMap<String, Object>();
+        allParams.put(APP_NAME, getResultingAppName());
+        AppWrapper app = this.intermediateToParametersMap
+                .get(ExtensionType.ModularJar).getApp();
+        allParams.put(MAIN_MODULE,
+                String.join("/", app.getMainModuleName(), app.getMainClass()));
+        allParams.put(MODULEPATH, modulepath.toString());
+        return allParams;
+    }
+
+    public VerifiedOptions getVerifiedOptions() {
+        return () -> {
+            Map<String, Object> hashMap = new HashMap<String, Object>();
+            hashMap.put(AbstractBundlerUtils.MULTI_OUTPUT_CONTAINS,
+                    Arrays.asList(CIRCLE_OUTPUT, RECTANGLE_OUTPUT));
+            return hashMap;
+        };
+    }
+
+    @Test(dataProvider = "getBundlers")
+    public void runTest(BundlingManager bundlingManager) throws Exception {
+
+        for (int i = 0; i < array.length; i++) {
+            Map<String, Object> allParams = getAllParams(modulePathList.get(i));
+            String testName = this.getClass().getName() + "::"
+                    + testMethod.getName() + "$" + bundlingManager.toString();
+            this.bundlingManager = bundlingManager;
+            LOG.log(Level.INFO, "Starting test \"{0}\".", testName);
+
+            try {
+                validate();
+                if (isConfigExceptionExpected(bundlingManager.getBundler())) {
+                    Assert.fail(
+                            "ConfigException is expected, but isn't thrown");
+                }
+            } catch (ConfigException ex) {
+                if (isConfigExceptionExpected(bundlingManager.getBundler())) {
+                    return;
+                } else {
+                    LOG.log(Level.SEVERE, "Configuration error: {0}.",
+                            new Object[] { ex });
+                    throw ex;
+                }
+            }
+
+            try {
+                AppWrapper app = intermediateToParametersMap
+                .get(ExtensionType.NormalJar).getApp();
+                bundlingManager.execute(allParams,
+                        app);
+                String path = bundlingManager.install(
+                        app, getResultingAppName(),
+                        false);
+                LOG.log(Level.INFO, "Installed at: {0}", path);
+
+                Pair<TimeUnit, Integer> tuple = getDelayAfterInstall();
+                tuple.getKey().sleep(tuple.getValue());
+                AppWrapper app2 = this.currentParameter.getApp();
+                this.intermediateToParametersMap
+                .get(ExtensionType.NormalJar).getVerifiedOptions().forEach(
+                        (name, value) -> bundlingManager.verifyOption(name,
+                                value, app2, getResultingAppName()));
+            }
+
+            finally {
+                uninstallApp(modulePathList.get(i));
+                LOG.log(Level.INFO, "Finished test: {0}", testName);
+            }
+        }
+    }
+
+    private void uninstallApp(Path modulepath) throws Exception {
+        if (bundlingManager != null) {
+            String appName = bundlingManager.getAppName(getAllParams(modulepath));
+            bundlingManager.uninstall(this.intermediateToParametersMap
+                    .get(ExtensionType.NormalJar).getApp(), appName);
+        }
+    }
+}
--- a/functional/appBundlerTestsJDK9/appBundlerTestsJDK9/test/com/oracle/appbundlers/tests/functionality/jdk9test/LimitModuleTest.java	Mon Jul 18 08:53:54 2016 -0700
+++ b/functional/appBundlerTestsJDK9/appBundlerTestsJDK9/test/com/oracle/appbundlers/tests/functionality/jdk9test/LimitModuleTest.java	Fri Jul 22 08:40:32 2016 -0700
@@ -12,6 +12,7 @@
 import com.oracle.appbundlers.tests.functionality.functionalinterface.AdditionalParams;
 import com.oracle.appbundlers.tests.functionality.functionalinterface.VerifiedOptions;
 import com.oracle.appbundlers.utils.AppWrapper;
+import com.oracle.appbundlers.utils.ExtensionType;
 import com.oracle.appbundlers.utils.SourceFactory;
 import com.oracle.appbundlers.utils.Utils;
 import com.oracle.appbundlers.utils.installers.AbstractBundlerUtils;
--- a/functional/appBundlerTestsJDK9/appBundlerTestsJDK9/test/com/oracle/appbundlers/tests/functionality/jdk9test/ListServiceProvidersTest.java	Mon Jul 18 08:53:54 2016 -0700
+++ b/functional/appBundlerTestsJDK9/appBundlerTestsJDK9/test/com/oracle/appbundlers/tests/functionality/jdk9test/ListServiceProvidersTest.java	Fri Jul 22 08:40:32 2016 -0700
@@ -12,6 +12,7 @@
 
 import com.oracle.appbundlers.tests.functionality.functionalinterface.VerifiedOptions;
 import com.oracle.appbundlers.utils.AppWrapper;
+import com.oracle.appbundlers.utils.ExtensionType;
 import com.oracle.appbundlers.utils.SourceFactory;
 import com.oracle.appbundlers.utils.Utils;
 import com.oracle.appbundlers.utils.installers.AbstractBundlerUtils;
--- a/functional/appBundlerTestsJDK9/appBundlerTestsJDK9/test/com/oracle/appbundlers/tests/functionality/jdk9test/MainModuleTest.java	Mon Jul 18 08:53:54 2016 -0700
+++ b/functional/appBundlerTestsJDK9/appBundlerTestsJDK9/test/com/oracle/appbundlers/tests/functionality/jdk9test/MainModuleTest.java	Fri Jul 22 08:40:32 2016 -0700
@@ -14,6 +14,7 @@
 import com.oracle.appbundlers.tests.functionality.functionalinterface.BasicParams;
 import com.oracle.appbundlers.tests.functionality.parameters.GenericModuleParameters;
 import com.oracle.appbundlers.utils.AppWrapper;
+import com.oracle.appbundlers.utils.ExtensionType;
 import com.oracle.tools.packager.RelativeFileSet;
 import com.sun.javafx.tools.packager.bundlers.BundleParams;
 
--- a/functional/appBundlerTestsJDK9/appBundlerTestsJDK9/test/com/oracle/appbundlers/tests/functionality/jdk9test/ModuleTestBase.java	Mon Jul 18 08:53:54 2016 -0700
+++ b/functional/appBundlerTestsJDK9/appBundlerTestsJDK9/test/com/oracle/appbundlers/tests/functionality/jdk9test/ModuleTestBase.java	Fri Jul 22 08:40:32 2016 -0700
@@ -1,6 +1,7 @@
 package com.oracle.appbundlers.tests.functionality.jdk9test;
 
 import com.oracle.appbundlers.tests.functionality.TestBase;
+import com.oracle.appbundlers.utils.ExtensionType;
 
 /**
  * @author Ramesh BG
--- a/functional/appBundlerTestsJDK9/appBundlerTestsJDK9/test/com/oracle/appbundlers/tests/functionality/jdk9test/NamedModuleBundledWithAllModules.java	Mon Jul 18 08:53:54 2016 -0700
+++ b/functional/appBundlerTestsJDK9/appBundlerTestsJDK9/test/com/oracle/appbundlers/tests/functionality/jdk9test/NamedModuleBundledWithAllModules.java	Fri Jul 22 08:40:32 2016 -0700
@@ -12,6 +12,7 @@
 
 import com.oracle.appbundlers.tests.functionality.functionalinterface.AdditionalParams;
 import com.oracle.appbundlers.tests.functionality.functionalinterface.VerifiedOptions;
+import com.oracle.appbundlers.utils.ExtensionType;
 
 /**
  * @author Ramesh BG
--- a/functional/appBundlerTestsJDK9/appBundlerTestsJDK9/test/com/oracle/appbundlers/tests/functionality/jdk9test/NamedModuleBundledWithMinimumModulesAnd3rdPartyJarsTest.java	Mon Jul 18 08:53:54 2016 -0700
+++ b/functional/appBundlerTestsJDK9/appBundlerTestsJDK9/test/com/oracle/appbundlers/tests/functionality/jdk9test/NamedModuleBundledWithMinimumModulesAnd3rdPartyJarsTest.java	Fri Jul 22 08:40:32 2016 -0700
@@ -14,6 +14,7 @@
 import com.oracle.appbundlers.tests.functionality.functionalinterface.AdditionalParams;
 import com.oracle.appbundlers.tests.functionality.functionalinterface.VerifiedOptions;
 import com.oracle.appbundlers.utils.AppWrapper;
+import com.oracle.appbundlers.utils.ExtensionType;
 import com.oracle.appbundlers.utils.SourceFactory;
 import com.oracle.appbundlers.utils.Utils;
 
--- a/functional/appBundlerTestsJDK9/appBundlerTestsJDK9/test/com/oracle/appbundlers/tests/functionality/jdk9test/NamedModuleBundledWithMinimumModulesAnd3rdPartyModulesTest.java	Mon Jul 18 08:53:54 2016 -0700
+++ b/functional/appBundlerTestsJDK9/appBundlerTestsJDK9/test/com/oracle/appbundlers/tests/functionality/jdk9test/NamedModuleBundledWithMinimumModulesAnd3rdPartyModulesTest.java	Fri Jul 22 08:40:32 2016 -0700
@@ -13,6 +13,10 @@
 
 import com.oracle.appbundlers.tests.functionality.functionalinterface.AdditionalParams;
 import com.oracle.appbundlers.tests.functionality.functionalinterface.VerifiedOptions;
+import com.oracle.appbundlers.utils.AppWrapper;
+import com.oracle.appbundlers.utils.ExtensionType;
+import com.oracle.appbundlers.utils.SourceFactory;
+import com.oracle.appbundlers.utils.Utils;
 
 /**
  * @author Ramesh BG Example 9 in chris list. Example 9: Named Module, Minimum
@@ -41,6 +45,13 @@
         };
     }
 
+    protected AppWrapper getApp() throws IOException {
+        return new AppWrapper(Utils.getTempSubDir(WORK_DIRECTORY),
+                COM_GREETINGS_APP1_QUALIFIED_CLASS_NAME,
+                SourceFactory.get_custom_util_module(),
+                SourceFactory.get_com_greetings_module());
+    }
+
     @Override
     public void overrideParameters(ExtensionType intermediate)
             throws IOException {
--- a/functional/appBundlerTestsJDK9/appBundlerTestsJDK9/test/com/oracle/appbundlers/tests/functionality/jdk9test/NamedModuleBundledWithMinimumModulesMacroAnd3rdPartyModulesTest.java	Mon Jul 18 08:53:54 2016 -0700
+++ b/functional/appBundlerTestsJDK9/appBundlerTestsJDK9/test/com/oracle/appbundlers/tests/functionality/jdk9test/NamedModuleBundledWithMinimumModulesMacroAnd3rdPartyModulesTest.java	Fri Jul 22 08:40:32 2016 -0700
@@ -13,6 +13,7 @@
 
 import com.oracle.appbundlers.tests.functionality.functionalinterface.AdditionalParams;
 import com.oracle.appbundlers.tests.functionality.functionalinterface.VerifiedOptions;
+import com.oracle.appbundlers.utils.ExtensionType;
 
 /**
  * @author Ramesh BG Example 10 in chris list Example 10: Named Module, Minimum
--- a/functional/appBundlerTestsJDK9/appBundlerTestsJDK9/test/com/oracle/appbundlers/tests/functionality/jdk9test/NamedModuleWithEntireJreTest.java	Mon Jul 18 08:53:54 2016 -0700
+++ b/functional/appBundlerTestsJDK9/appBundlerTestsJDK9/test/com/oracle/appbundlers/tests/functionality/jdk9test/NamedModuleWithEntireJreTest.java	Fri Jul 22 08:40:32 2016 -0700
@@ -14,6 +14,7 @@
 import com.oracle.appbundlers.tests.functionality.functionalinterface.AdditionalParams;
 import com.oracle.appbundlers.tests.functionality.functionalinterface.VerifiedOptions;
 import com.oracle.appbundlers.utils.AppWrapper;
+import com.oracle.appbundlers.utils.ExtensionType;
 import com.oracle.appbundlers.utils.SourceFactory;
 import com.oracle.appbundlers.utils.Utils;
 
--- a/functional/appBundlerTestsJDK9/appBundlerTestsJDK9/test/com/oracle/appbundlers/tests/functionality/jdk9test/NamedModuleWithMinimumModulesTest.java	Mon Jul 18 08:53:54 2016 -0700
+++ b/functional/appBundlerTestsJDK9/appBundlerTestsJDK9/test/com/oracle/appbundlers/tests/functionality/jdk9test/NamedModuleWithMinimumModulesTest.java	Fri Jul 22 08:40:32 2016 -0700
@@ -14,6 +14,7 @@
 import com.oracle.appbundlers.tests.functionality.functionalinterface.AdditionalParams;
 import com.oracle.appbundlers.tests.functionality.functionalinterface.VerifiedOptions;
 import com.oracle.appbundlers.utils.AppWrapper;
+import com.oracle.appbundlers.utils.ExtensionType;
 import com.oracle.appbundlers.utils.SourceFactory;
 import com.oracle.appbundlers.utils.Utils;
 
--- a/functional/appBundlerTestsJDK9/appBundlerTestsJDK9/test/com/oracle/appbundlers/tests/functionality/jdk9test/UnNamedModuleWithEntireJreTest.java	Mon Jul 18 08:53:54 2016 -0700
+++ b/functional/appBundlerTestsJDK9/appBundlerTestsJDK9/test/com/oracle/appbundlers/tests/functionality/jdk9test/UnNamedModuleWithEntireJreTest.java	Fri Jul 22 08:40:32 2016 -0700
@@ -12,6 +12,7 @@
 import com.oracle.appbundlers.tests.functionality.TestBase;
 import com.oracle.appbundlers.tests.functionality.functionalinterface.AdditionalParams;
 import com.oracle.appbundlers.tests.functionality.functionalinterface.VerifiedOptions;
+import com.oracle.appbundlers.utils.ExtensionType;
 
 /**
  * @author Ramesh BG Example 1 in chris list TestCase working and no pending in
--- a/functional/appBundlerTestsJDK9/appBundlerTestsJDK9/test/com/oracle/appbundlers/tests/functionality/jdk9test/UnnamedModuleDependsOn3rdPartyModulesBundledWithEntireJreTest.java	Mon Jul 18 08:53:54 2016 -0700
+++ b/functional/appBundlerTestsJDK9/appBundlerTestsJDK9/test/com/oracle/appbundlers/tests/functionality/jdk9test/UnnamedModuleDependsOn3rdPartyModulesBundledWithEntireJreTest.java	Fri Jul 22 08:40:32 2016 -0700
@@ -22,6 +22,7 @@
 import com.oracle.appbundlers.tests.functionality.functionalinterface.VerifiedOptions;
 import com.oracle.appbundlers.tests.functionality.parameters.GenericModuleParameters;
 import com.oracle.appbundlers.utils.AppWrapper;
+import com.oracle.appbundlers.utils.ExtensionType;
 import com.oracle.appbundlers.utils.SourceFactory;
 import com.oracle.appbundlers.utils.Utils;
 import com.oracle.tools.packager.RelativeFileSet;
--- a/functional/appBundlerTestsJDK9/appBundlerTestsJDK9/test/com/oracle/appbundlers/tests/functionality/jdk9test/UnnamedModuleDependsOnOtherJarsBundledWithEntireJre.java	Mon Jul 18 08:53:54 2016 -0700
+++ b/functional/appBundlerTestsJDK9/appBundlerTestsJDK9/test/com/oracle/appbundlers/tests/functionality/jdk9test/UnnamedModuleDependsOnOtherJarsBundledWithEntireJre.java	Fri Jul 22 08:40:32 2016 -0700
@@ -16,6 +16,7 @@
 import com.oracle.appbundlers.tests.functionality.functionalinterface.AdditionalParams;
 import com.oracle.appbundlers.tests.functionality.functionalinterface.VerifiedOptions;
 import com.oracle.appbundlers.utils.AppWrapper;
+import com.oracle.appbundlers.utils.ExtensionType;
 import com.oracle.appbundlers.utils.SourceFactory;
 import com.oracle.appbundlers.utils.Utils;
 
--- a/functional/appBundlerTestsJDK9/appBundlerTestsJDK9/test/com/oracle/appbundlers/tests/functionality/manual/ManualTestBase.java	Mon Jul 18 08:53:54 2016 -0700
+++ b/functional/appBundlerTestsJDK9/appBundlerTestsJDK9/test/com/oracle/appbundlers/tests/functionality/manual/ManualTestBase.java	Fri Jul 22 08:40:32 2016 -0700
@@ -20,9 +20,9 @@
 import org.testng.annotations.Test;
 
 import com.oracle.appbundlers.tests.functionality.TestBase;
-import com.oracle.appbundlers.tests.functionality.jdk9test.ExtensionType;
 import com.oracle.appbundlers.utils.BundlingManager;
 import com.oracle.appbundlers.utils.Config;
+import com.oracle.appbundlers.utils.ExtensionType;
 
 /**
  * @author Dmitry.Ermashov@oracle.com;
--- a/functional/appBundlerTestsJDK9/appBundlerTestsJDK9/test/com/oracle/appbundlers/tests/functionality/parameters/ExplodedModuleParameters.java	Mon Jul 18 08:53:54 2016 -0700
+++ b/functional/appBundlerTestsJDK9/appBundlerTestsJDK9/test/com/oracle/appbundlers/tests/functionality/parameters/ExplodedModuleParameters.java	Fri Jul 22 08:40:32 2016 -0700
@@ -11,7 +11,7 @@
 import com.oracle.appbundlers.tests.functionality.functionalinterface.AdditionalParams;
 import com.oracle.appbundlers.tests.functionality.functionalinterface.BasicParams;
 import com.oracle.appbundlers.tests.functionality.functionalinterface.VerifiedOptions;
-import com.oracle.appbundlers.tests.functionality.jdk9test.ExtensionType;
+import com.oracle.appbundlers.utils.ExtensionType;
 
 /**
  * @author Ramesh BG
--- a/functional/appBundlerTestsJDK9/appBundlerTestsJDK9/test/com/oracle/appbundlers/tests/functionality/parameters/JmodParameters.java	Mon Jul 18 08:53:54 2016 -0700
+++ b/functional/appBundlerTestsJDK9/appBundlerTestsJDK9/test/com/oracle/appbundlers/tests/functionality/parameters/JmodParameters.java	Fri Jul 22 08:40:32 2016 -0700
@@ -11,7 +11,7 @@
 import com.oracle.appbundlers.tests.functionality.functionalinterface.AdditionalParams;
 import com.oracle.appbundlers.tests.functionality.functionalinterface.BasicParams;
 import com.oracle.appbundlers.tests.functionality.functionalinterface.VerifiedOptions;
-import com.oracle.appbundlers.tests.functionality.jdk9test.ExtensionType;
+import com.oracle.appbundlers.utils.ExtensionType;
 
 /**
  * @author Ramesh BG
--- a/functional/appBundlerTestsJDK9/appBundlerTestsJDK9/test/com/oracle/appbundlers/tests/functionality/parameters/ModularJarParameters.java	Mon Jul 18 08:53:54 2016 -0700
+++ b/functional/appBundlerTestsJDK9/appBundlerTestsJDK9/test/com/oracle/appbundlers/tests/functionality/parameters/ModularJarParameters.java	Fri Jul 22 08:40:32 2016 -0700
@@ -11,7 +11,7 @@
 import com.oracle.appbundlers.tests.functionality.functionalinterface.AdditionalParams;
 import com.oracle.appbundlers.tests.functionality.functionalinterface.BasicParams;
 import com.oracle.appbundlers.tests.functionality.functionalinterface.VerifiedOptions;
-import com.oracle.appbundlers.tests.functionality.jdk9test.ExtensionType;
+import com.oracle.appbundlers.utils.ExtensionType;
 
 /**
  * @author Ramesh BG
--- a/functional/appBundlerTestsJDK9/appBundlerTestsJDK9/test/com/oracle/appbundlers/tests/functionality/parameters/NormalJarParameters.java	Mon Jul 18 08:53:54 2016 -0700
+++ b/functional/appBundlerTestsJDK9/appBundlerTestsJDK9/test/com/oracle/appbundlers/tests/functionality/parameters/NormalJarParameters.java	Fri Jul 22 08:40:32 2016 -0700
@@ -18,8 +18,8 @@
 import com.oracle.appbundlers.tests.functionality.functionalinterface.AdditionalParams;
 import com.oracle.appbundlers.tests.functionality.functionalinterface.BasicParams;
 import com.oracle.appbundlers.tests.functionality.functionalinterface.VerifiedOptions;
-import com.oracle.appbundlers.tests.functionality.jdk9test.ExtensionType;
 import com.oracle.appbundlers.utils.AppWrapper;
+import com.oracle.appbundlers.utils.ExtensionType;
 import com.oracle.appbundlers.utils.SourceFactory;
 import com.oracle.appbundlers.utils.Utils;
 import com.oracle.tools.packager.RelativeFileSet;
--- a/functional/appBundlerTestsJDK9/appBundlerTestsJDK9/test/com/oracle/appbundlers/tests/functionality/parameters/Parameters.java	Mon Jul 18 08:53:54 2016 -0700
+++ b/functional/appBundlerTestsJDK9/appBundlerTestsJDK9/test/com/oracle/appbundlers/tests/functionality/parameters/Parameters.java	Fri Jul 22 08:40:32 2016 -0700
@@ -11,9 +11,9 @@
 import com.oracle.appbundlers.tests.functionality.functionalinterface.AdditionalParams;
 import com.oracle.appbundlers.tests.functionality.functionalinterface.BasicParams;
 import com.oracle.appbundlers.tests.functionality.functionalinterface.VerifiedOptions;
-import com.oracle.appbundlers.tests.functionality.jdk9test.ExtensionType;
 import com.oracle.appbundlers.utils.AppWrapper;
 import com.oracle.appbundlers.utils.Constants;
+import com.oracle.appbundlers.utils.ExtensionType;
 
 /**
  * @author Ramesh BG