Author: jvanzyl
Date: Mon Sep 26 14:19:07 2005
New Revision: 291748

URL: http://svn.apache.org/viewcvs?rev=291748&view=rev
Log:
o doing a quick pass at integrating the fork mojo into the embedder

Modified:
    
maven/components/trunk/maven-embedder/src/main/java/org/apache/maven/embedder/MavenEmbedder.java

Modified: 
maven/components/trunk/maven-embedder/src/main/java/org/apache/maven/embedder/MavenEmbedder.java
URL: 
http://svn.apache.org/viewcvs/maven/components/trunk/maven-embedder/src/main/java/org/apache/maven/embedder/MavenEmbedder.java?rev=291748&r1=291747&r2=291748&view=diff
==============================================================================
--- 
maven/components/trunk/maven-embedder/src/main/java/org/apache/maven/embedder/MavenEmbedder.java
 (original)
+++ 
maven/components/trunk/maven-embedder/src/main/java/org/apache/maven/embedder/MavenEmbedder.java
 Mon Sep 26 14:19:07 2005
@@ -48,14 +48,15 @@
 import org.codehaus.plexus.embed.Embedder;
 import org.codehaus.plexus.util.xml.pull.XmlPullParserException;
 import org.codehaus.plexus.util.dag.CycleDetectedException;
+import org.codehaus.plexus.util.DirectoryScanner;
 
 import java.io.File;
 import java.io.FileNotFoundException;
 import java.io.FileReader;
 import java.io.IOException;
 import java.util.List;
-import java.util.Collections;
 import java.util.ArrayList;
+import java.util.Iterator;
 
 /**
  * Class intended to be used by clients who wish to embed Maven into their 
applications
@@ -259,7 +260,7 @@
         return runtimeInfo;
     }
 
-    private void execute( MavenProject project, List goals, EventDispatcher 
eventDispatcher, File executionRootDirectory )
+    public void execute( MavenProject project, List goals, EventDispatcher 
eventDispatcher, File executionRootDirectory )
         throws CycleDetectedException, LifecycleExecutionException, 
MojoExecutionException
     {
         List projects = new ArrayList();
@@ -288,6 +289,55 @@
         {
             throw new MojoExecutionException( "Integration test failed" );
         }
+    }
+
+   public List collectProjects( File basedir, String[] includes, String[] 
excludes )
+        throws MojoExecutionException
+    {
+        List projects = new ArrayList();
+
+        List poms = getPomFiles( basedir, includes, excludes );
+
+        for ( Iterator i = poms.iterator(); i.hasNext(); )
+        {
+            File pom = (File) i.next();
+
+            try
+            {
+                MavenProject p = readProject( pom );
+
+                projects.add( p );
+
+            }
+            catch (ProjectBuildingException e)
+            {
+                throw new MojoExecutionException( "Error loading " + pom, e );
+            }
+        }
+
+        return projects;
+    }
+
+    private List getPomFiles( File basedir, String[] includes, String[] 
excludes )
+    {
+        DirectoryScanner scanner = new DirectoryScanner();
+
+        scanner.setBasedir( basedir );
+
+        scanner.setIncludes( includes );
+
+        scanner.setExcludes( excludes );
+
+        scanner.scan();
+
+        List poms = new ArrayList();
+
+        for ( int i = 0; i < scanner.getIncludedFiles().length; i++ )
+        {
+            poms.add( new File( basedir, scanner.getIncludedFiles()[i] ) );
+        }
+
+        return poms;
     }
 
     // ----------------------------------------------------------------------



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to