You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by if...@apache.org on 2013/11/24 06:23:22 UTC

svn commit: r1544915 - in /maven/shared/trunk/maven-verifier/src/main/java/org/apache/maven/it: Embedded3xLauncher.java Verifier.java

Author: ifedorenko
Date: Sun Nov 24 05:23:22 2013
New Revision: 1544915

URL: http://svn.apache.org/r1544915
Log:
changed Embedded3xLauncher constructor to allow reuse

Signed-off-by: Igor Fedorenko <ig...@ifedorenko.com>

Modified:
    maven/shared/trunk/maven-verifier/src/main/java/org/apache/maven/it/Embedded3xLauncher.java
    maven/shared/trunk/maven-verifier/src/main/java/org/apache/maven/it/Verifier.java

Modified: maven/shared/trunk/maven-verifier/src/main/java/org/apache/maven/it/Embedded3xLauncher.java
URL: http://svn.apache.org/viewvc/maven/shared/trunk/maven-verifier/src/main/java/org/apache/maven/it/Embedded3xLauncher.java?rev=1544915&r1=1544914&r2=1544915&view=diff
==============================================================================
--- maven/shared/trunk/maven-verifier/src/main/java/org/apache/maven/it/Embedded3xLauncher.java (original)
+++ maven/shared/trunk/maven-verifier/src/main/java/org/apache/maven/it/Embedded3xLauncher.java Sun Nov 24 05:23:22 2013
@@ -37,7 +37,7 @@ import java.util.Properties;
 
 /**
  * Launches an embedded Maven 3.x instance from some Maven installation directory.
- *
+ * 
  * @author Benjamin Bentmann
  */
 class Embedded3xLauncher
@@ -48,7 +48,16 @@ class Embedded3xLauncher
 
     private final Method doMain;
 
-    public Embedded3xLauncher( String mavenHome )
+    private Embedded3xLauncher( Object mavenCli, Method doMain )
+    {
+        this.mavenCli = mavenCli;
+        this.doMain = doMain;
+    }
+
+    /**
+     * Launches an embedded Maven 3.x instance from some Maven installation directory.
+     */
+    public static Embedded3xLauncher createFromMavenHome( String mavenHome )
         throws LauncherException
     {
         if ( mavenHome == null || mavenHome.length() <= 0 )
@@ -70,9 +79,9 @@ class Embedded3xLauncher
 
             Object launcher = launcherClass.newInstance();
 
-            Method configure = launcherClass.getMethod( "configure", new Class[]{ InputStream.class } );
+            Method configure = launcherClass.getMethod( "configure", new Class[] { InputStream.class } );
 
-            configure.invoke( launcher, new Object[]{ new FileInputStream( config ) } );
+            configure.invoke( launcher, new Object[] { new FileInputStream( config ) } );
 
             Method getWorld = launcherClass.getMethod( "getWorld", null );
             Object classWorld = getWorld.invoke( launcher, null );
@@ -80,11 +89,13 @@ class Embedded3xLauncher
             Method getMainClass = launcherClass.getMethod( "getMainClass", null );
             Class<?> cliClass = (Class<?>) getMainClass.invoke( launcher, null );
 
-            Constructor<?> newMavenCli = cliClass.getConstructor( new Class[]{ classWorld.getClass() } );
-            mavenCli = newMavenCli.newInstance( new Object[]{ classWorld } );
+            Constructor<?> newMavenCli = cliClass.getConstructor( new Class[] { classWorld.getClass() } );
+            Object mavenCli = newMavenCli.newInstance( new Object[] { classWorld } );
 
             Class<?>[] parameterTypes = { String[].class, String.class, PrintStream.class, PrintStream.class };
-            doMain = cliClass.getMethod( "doMain", parameterTypes );
+            Method doMain = cliClass.getMethod( "doMain", parameterTypes );
+
+            return new Embedded3xLauncher( mavenCli, doMain );
         }
         catch ( ClassNotFoundException e )
         {
@@ -174,7 +185,7 @@ class Embedded3xLauncher
             Thread.currentThread().setContextClassLoader( mavenCli.getClass().getClassLoader() );
             try
             {
-                Object result = doMain.invoke( mavenCli, new Object[]{ cliArgs, workingDirectory, out, out } );
+                Object result = doMain.invoke( mavenCli, new Object[] { cliArgs, workingDirectory, out, out } );
 
                 return ( (Number) result ).intValue();
             }

Modified: maven/shared/trunk/maven-verifier/src/main/java/org/apache/maven/it/Verifier.java
URL: http://svn.apache.org/viewvc/maven/shared/trunk/maven-verifier/src/main/java/org/apache/maven/it/Verifier.java?rev=1544915&r1=1544914&r2=1544915&view=diff
==============================================================================
--- maven/shared/trunk/maven-verifier/src/main/java/org/apache/maven/it/Verifier.java (original)
+++ maven/shared/trunk/maven-verifier/src/main/java/org/apache/maven/it/Verifier.java Sun Nov 24 05:23:22 2013
@@ -1395,7 +1395,7 @@ public class Verifier
             }
             else
             {
-                embeddedLauncher = new Embedded3xLauncher( defaultMavenHome );
+                embeddedLauncher = Embedded3xLauncher.createFromMavenHome( defaultMavenHome );
             }
         }
     }