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]