jvanzyl 2004/05/09 16:00:59
Modified: maven-core/src/main/java/org/apache/maven
DefaultMavenCore.java Maven.java MavenCli.java
MavenCore.java
maven-core/src/main/java/org/apache/maven/plugin/descriptor
GoalDescriptor.java ParameterDescriptor.java
PluginDescriptor.java
Added: maven-core/src/main/java/org/apache/maven
ReactorException.java
Log:
o the reactor now works with the -r flag to run over a set of goals
for a set of projects, so rudimentary things like:
maven -r clean
maven -r xdoc
work nicely, and now time to add some notions of processing the top-level
which in many cases might be aggregation but it could be any arbitrary
process really.
Revision Changes Path
1.3 +37 -2
maven-components/maven-core/src/main/java/org/apache/maven/DefaultMavenCore.java
Index: DefaultMavenCore.java
===================================================================
RCS file:
/home/cvs/maven-components/maven-core/src/main/java/org/apache/maven/DefaultMavenCore.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- DefaultMavenCore.java 8 May 2004 21:11:16 -0000 1.2
+++ DefaultMavenCore.java 9 May 2004 23:00:59 -0000 1.3
@@ -26,6 +26,7 @@
import org.apache.maven.project.ProjectBuildingException;
import org.codehaus.plexus.PlexusConstants;
import org.codehaus.plexus.PlexusContainer;
+import org.codehaus.plexus.util.FileUtils;
import org.codehaus.plexus.personality.plexus.lifecycle.phase.Contextualizable;
import org.codehaus.plexus.context.Context;
import org.codehaus.plexus.context.ContextException;
@@ -34,6 +35,8 @@
import java.io.File;
import java.util.List;
import java.util.Map;
+import java.util.ArrayList;
+import java.util.Iterator;
public class DefaultMavenCore
implements MavenCore, Contextualizable
@@ -59,7 +62,7 @@
private I18N i18n;
// ----------------------------------------------------------------------
- // Goal attainment
+ // Project execution
// ----------------------------------------------------------------------
public void execute( String goal )
@@ -69,7 +72,7 @@
}
public void execute( File projectFile, String goal )
- throws ProjectBuildingException,GoalNotFoundException
+ throws ProjectBuildingException, GoalNotFoundException
{
execute( getProject( projectFile ), goal );
}
@@ -89,6 +92,38 @@
catch ( Exception e )
{
e.printStackTrace();
+ }
+ }
+
+ // ----------------------------------------------------------------------
+ // Reactor execution
+ // ----------------------------------------------------------------------
+
+ public void executeReactor( String goal )
+ throws ReactorException, GoalNotFoundException
+ {
+ List projects = new ArrayList();
+
+ try
+ {
+ List files = FileUtils.getFiles(
+ new File( System.getProperty( "user.dir" ) ),
"**/project.xml,**/project2.xml", "project.xml,project2.xml" );
+
+ for ( Iterator iterator = files.iterator(); iterator.hasNext(); )
+ {
+ projects.add( projectBuilder.build( (File) iterator.next() ) );
+ }
+
+ projects = projectBuilder.getSortedProjects( projects );
+ }
+ catch ( Exception e )
+ {
+ throw new ReactorException( "Error processing projects for the reactor:
", e );
+ }
+
+ for ( Iterator iterator = projects.iterator(); iterator.hasNext(); )
+ {
+ execute( (MavenProject) iterator.next(), goal );
}
}
1.13 +16 -1
maven-components/maven-core/src/main/java/org/apache/maven/Maven.java
Index: Maven.java
===================================================================
RCS file:
/home/cvs/maven-components/maven-core/src/main/java/org/apache/maven/Maven.java,v
retrieving revision 1.12
retrieving revision 1.13
diff -u -r1.12 -r1.13
--- Maven.java 8 May 2004 10:11:18 -0000 1.12
+++ Maven.java 9 May 2004 23:00:59 -0000 1.13
@@ -46,6 +46,7 @@
if ( bootClassWorld == null )
{
classWorld = new ClassWorld();
+
classWorld.newRealm( "core", embedder.getClass().getClassLoader() );
}
else
@@ -64,6 +65,10 @@
maven = (MavenCore) embedder.lookup( MavenCore.ROLE );
}
+ // ----------------------------------------------------------------------
+ // Project execution
+ // ----------------------------------------------------------------------
+
public void execute( String goal )
throws GoalNotFoundException
{
@@ -80,6 +85,16 @@
throws GoalNotFoundException
{
maven.execute( project, goal );
+ }
+
+ // ----------------------------------------------------------------------
+ // Reactor execution
+ // ----------------------------------------------------------------------
+
+ public void executeReactor( String goal )
+ throws ReactorException,GoalNotFoundException
+ {
+ maven.executeReactor( goal );
}
// ----------------------------------------------------------------------
1.4 +13 -5
maven-components/maven-core/src/main/java/org/apache/maven/MavenCli.java
Index: MavenCli.java
===================================================================
RCS file:
/home/cvs/maven-components/maven-core/src/main/java/org/apache/maven/MavenCli.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- MavenCli.java 7 May 2004 17:59:46 -0000 1.3
+++ MavenCli.java 9 May 2004 23:00:59 -0000 1.4
@@ -26,9 +26,7 @@
import org.codehaus.classworlds.ClassWorld;
import java.io.File;
-import java.io.FileInputStream;
import java.util.Iterator;
-import java.util.Properties;
/**
* @author <a href="mailto:[EMAIL PROTECTED]">Jason van Zyl</a>
@@ -81,9 +79,19 @@
// Execute the goals
// ----------------------------------------------------------------------
- for ( Iterator i = commandLine.getArgList().iterator(); i.hasNext(); )
+ if ( commandLine.hasOption( REACTOR ) )
{
- maven.execute( projectFile, (String) i.next() );
+ for ( Iterator i = commandLine.getArgList().iterator(); i.hasNext(); )
+ {
+ maven.executeReactor( (String) i.next() );
+ }
+ }
+ else
+ {
+ for ( Iterator i = commandLine.getArgList().iterator(); i.hasNext(); )
+ {
+ maven.execute( projectFile, (String) i.next() );
+ }
}
}
1.2 +8 -1
maven-components/maven-core/src/main/java/org/apache/maven/MavenCore.java
Index: MavenCore.java
===================================================================
RCS file:
/home/cvs/maven-components/maven-core/src/main/java/org/apache/maven/MavenCore.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- MavenCore.java 16 Apr 2004 13:56:09 -0000 1.1
+++ MavenCore.java 9 May 2004 23:00:59 -0000 1.2
@@ -50,6 +50,13 @@
throws ProjectBuildingException,GoalNotFoundException;
// ----------------------------------------------------------------------
+ // Reactor execution
+ // ----------------------------------------------------------------------
+
+ void executeReactor( String goal )
+ throws ReactorException,GoalNotFoundException;
+
+ // ----------------------------------------------------------------------
// Plugin descriptors
// ----------------------------------------------------------------------
1.1
maven-components/maven-core/src/main/java/org/apache/maven/ReactorException.java
Index: ReactorException.java
===================================================================
package org.apache.maven;
/**
* @author <a href="mailto:[EMAIL PROTECTED]">Jason van Zyl</a>
* @version $Id: ReactorException.java,v 1.1 2004/05/09 23:00:59 jvanzyl Exp $
*/
public class ReactorException
extends Exception
{
public ReactorException()
{
}
public ReactorException( String message )
{
super( message );
}
public ReactorException( Throwable cause )
{
super( cause );
}
public ReactorException( String message, Throwable cause )
{
super( message, cause );
}
}
1.8 +41 -1
maven-components/maven-core/src/main/java/org/apache/maven/plugin/descriptor/GoalDescriptor.java
Index: GoalDescriptor.java
===================================================================
RCS file:
/home/cvs/maven-components/maven-core/src/main/java/org/apache/maven/plugin/descriptor/GoalDescriptor.java,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -r1.7 -r1.8
--- GoalDescriptor.java 8 May 2004 23:34:18 -0000 1.7
+++ GoalDescriptor.java 9 May 2004 23:00:59 -0000 1.8
@@ -16,6 +16,7 @@
* limitations under the License.
*/
+import java.util.ArrayList;
import java.util.List;
/**
@@ -64,5 +65,44 @@
public String getMethod()
{
return method;
+ }
+
+ // ----------------------------------------------------------------------
+ //
+ // ----------------------------------------------------------------------
+
+ public void setName( String name )
+ {
+ this.name = name;
+ }
+
+ public void setParameters( List parameters )
+ {
+ this.parameters = parameters;
+ }
+
+ public void setPrereqs( List prereqs )
+ {
+ this.prereqs = prereqs;
+ }
+
+ public void setDescription( String description )
+ {
+ this.description = description;
+ }
+
+ public void setRequiresDependencyResolution( boolean
requiresDependencyResolution )
+ {
+ this.requiresDependencyResolution = requiresDependencyResolution;
+ }
+
+ public void setRequiresProject( boolean requiresProject )
+ {
+ this.requiresProject = requiresProject;
+ }
+
+ public void setMethod( String method )
+ {
+ this.method = method;
}
}
1.3 +20 -1
maven-components/maven-core/src/main/java/org/apache/maven/plugin/descriptor/ParameterDescriptor.java
Index: ParameterDescriptor.java
===================================================================
RCS file:
/home/cvs/maven-components/maven-core/src/main/java/org/apache/maven/plugin/descriptor/ParameterDescriptor.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- ParameterDescriptor.java 21 Mar 2004 00:33:17 -0000 1.2
+++ ParameterDescriptor.java 9 May 2004 23:00:59 -0000 1.3
@@ -45,4 +45,23 @@
{
return description;
}
+
+ // ----------------------------------------------------------------------
+ //
+ // ----------------------------------------------------------------------
+
+ public void setName( String name )
+ {
+ this.name = name;
+ }
+
+ public void setExpression( String expression )
+ {
+ this.expression = expression;
+ }
+
+ public void setDescription( String description )
+ {
+ this.description = description;
+ }
}
1.6 +20 -0
maven-components/maven-core/src/main/java/org/apache/maven/plugin/descriptor/PluginDescriptor.java
Index: PluginDescriptor.java
===================================================================
RCS file:
/home/cvs/maven-components/maven-core/src/main/java/org/apache/maven/plugin/descriptor/PluginDescriptor.java,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- PluginDescriptor.java 22 Mar 2004 18:05:39 -0000 1.5
+++ PluginDescriptor.java 9 May 2004 23:00:59 -0000 1.6
@@ -20,6 +20,7 @@
import org.apache.maven.plugin.Plugin;
import java.util.List;
+import java.util.ArrayList;
public class PluginDescriptor
extends ComponentDescriptor
@@ -53,5 +54,24 @@
public String getMode()
{
return mode;
+ }
+
+ // ----------------------------------------------------------------------
+ // Setters used by tools like pluggy
+ // ----------------------------------------------------------------------
+
+ public void setId( String id )
+ {
+ this.id = id;
+ }
+
+ public void setGoals( List goals )
+ {
+ this.goals = goals;
+ }
+
+ public void setMode( String mode )
+ {
+ this.mode = mode;
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]