o Changed to depend on plexus-0.17 instead of -0.16

o Changed the embedder/container used to be the new artifact-aware container (plexus-artifact-container-1.0-alpha-1)
o Added new dependency to maven-core for artifact-container.


git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@163006 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
John Dennis Casey 2004-08-26 01:18:19 +00:00
parent b93016e064
commit 24ce8263d9
13 changed files with 68 additions and 75 deletions

View File

@ -4,3 +4,4 @@ target
.project
bootstrap.repo
maven-component.i*
.settings

View File

@ -23,7 +23,7 @@
<dependency>
<groupId>plexus</groupId>
<artifactId>plexus</artifactId>
<version>0.16</version>
<version>0.17</version>
</dependency>
<dependency>
<groupId>xstream</groupId>

View File

@ -15,6 +15,11 @@
<package>org.apache.maven</package>
<logo>/images/maven.gif</logo>
<dependencies>
<dependency>
<groupId>plexus</groupId>
<artifactId>plexus-artifact-container</artifactId>
<version>1.0-alpha-1</version>
</dependency>
<!-- maven component -->
<dependency>
<groupId>maven</groupId>

View File

@ -28,6 +28,7 @@ import org.apache.maven.plugin.descriptor.MojoDescriptor;
import org.apache.maven.project.MavenProject;
import org.apache.maven.project.MavenProjectBuilder;
import org.apache.maven.project.ProjectBuildingException;
import org.codehaus.plexus.ArtifactEnabledContainer;
import org.codehaus.plexus.PlexusConstants;
import org.codehaus.plexus.PlexusContainer;
import org.codehaus.plexus.context.Context;
@ -50,7 +51,7 @@ public class DefaultMaven
extends AbstractLogEnabled
implements Maven, Contextualizable
{
private PlexusContainer container;
private ArtifactEnabledContainer container;
private String mavenHome;
@ -363,7 +364,7 @@ public class DefaultMaven
public void contextualize( Context context )
throws ContextException
{
container = (PlexusContainer) context.get( PlexusConstants.PLEXUS_KEY );
container = (ArtifactEnabledContainer) context.get( PlexusConstants.PLEXUS_KEY );
}
// ----------------------------------------------------------------------

View File

@ -25,6 +25,7 @@ import org.apache.commons.cli.ParseException;
import org.apache.commons.cli.PosixParser;
import org.apache.maven.plugin.descriptor.MojoDescriptor;
import org.codehaus.classworlds.ClassWorld;
import org.codehaus.plexus.embed.ArtifactEnabledEmbedder;
import org.codehaus.plexus.embed.Embedder;
import org.codehaus.plexus.util.StringUtils;
@ -55,7 +56,7 @@ public class MavenCli
//---
Embedder embedder = new Embedder();
ArtifactEnabledEmbedder embedder = new ArtifactEnabledEmbedder();
embedder.start( classWorld );

View File

@ -37,73 +37,10 @@ import java.io.IOException;
*/
public class GoalDecorationPhase extends AbstractMavenGoalPhase
{
public static final String MAVEN_XML_DEFAULT_NAMESPACE = "mavenxml";
public static final String MAVEN_SCRIPT = "decorators.xml";
private GoalDecoratorBindings decorators;
private boolean decoratorsInitialized = false;
public void execute( MavenGoalExecutionContext context )
throws GoalExecutionException
{
synchronized ( this )
{
if ( !decoratorsInitialized )
{
try
{
initializeDecorators( context );
}
catch ( XmlPullParserException e )
{
throw new GoalExecutionException( "Error parsing decorators.xml: ", e );
}
catch ( IOException e )
{
throw new GoalExecutionException( "Error reading decorators.xml file: ", e );
}
}
}
context.setGoalDecoratorBindings( decorators );
}
private void initializeDecorators( MavenGoalExecutionContext context )
throws XmlPullParserException, IOException
{
MavenProject project = context.getProject();
File pom = project.getFile();
File dir = pom.getParentFile();
File scriptFile = new File( dir, MAVEN_SCRIPT );
if ( scriptFile.exists() )
{
BufferedReader reader = null;
try
{
reader = new BufferedReader( new FileReader( scriptFile ) );
GoalDecorationParser parser = new GoalDecorationParser();
this.decorators = parser.parse( reader );
}
finally
{
if ( reader != null )
{
try
{
reader.close();
}
catch ( IOException e )
{
}
}
}
}
decoratorsInitialized = true;
}
}

View File

@ -25,6 +25,7 @@ import org.apache.maven.artifact.resolver.ArtifactResolver;
import org.apache.maven.plugin.descriptor.MojoDescriptor;
import org.apache.maven.plugin.descriptor.PluginDescriptor;
import org.apache.maven.plugin.descriptor.PluginDescriptorBuilder;
import org.codehaus.plexus.ArtifactEnabledContainer;
import org.codehaus.plexus.PlexusConstants;
import org.codehaus.plexus.PlexusContainer;
import org.codehaus.plexus.component.discovery.ComponentDiscoveryEvent;
@ -62,7 +63,7 @@ public class DefaultPluginManager
protected ArtifactHandlerManager artifactHandlerManager;
protected PlexusContainer container;
protected ArtifactEnabledContainer container;
protected PluginDescriptorBuilder pluginDescriptorBuilder;
@ -279,7 +280,7 @@ public class DefaultPluginManager
public void contextualize( Context context )
throws ContextException
{
container = (PlexusContainer) context.get( PlexusConstants.PLEXUS_KEY );
container = (ArtifactEnabledContainer) context.get( PlexusConstants.PLEXUS_KEY );
}
public void initialize()

View File

@ -25,6 +25,7 @@ import org.apache.maven.project.MavenProject;
import org.apache.maven.project.MavenProjectBuilder;
import org.codehaus.classworlds.ClassRealm;
import org.codehaus.classworlds.ClassWorld;
import org.codehaus.plexus.ArtifactEnabledPlexusTestCase;
import org.codehaus.plexus.PlexusTestCase;
import java.io.File;
@ -36,7 +37,7 @@ import java.util.List;
* @version $Id$
*/
public class MavenTestCase
extends PlexusTestCase
extends ArtifactEnabledPlexusTestCase
{
protected PluginManager pluginManager;

View File

@ -324,6 +324,20 @@
<description>Distribution information for a project.</description>
<type>DistributionManagement</type>
</field>
<field>
<name>preGoals</name>
<version>4.0.0</version>
<description>Set of decorator(s) injected before the target goal(s).</description>
<type>java.util.List</type>
<defaultValue>new java.util.ArrayList()</defaultValue>
</field>
<field>
<name>postGoals</name>
<version>4.0.0</version>
<description>Set of decorator(s) injected after the target goal(s).</description>
<type>java.util.List</type>
<defaultValue>new java.util.ArrayList()</defaultValue>
</field>
</fields>
<!-- We need this because we can't use package as a field name. -->
<codeSegments>
@ -1264,6 +1278,38 @@
</field>
</fields>
</class>
<class>
<name>GoalDecorator</name>
<version>3.0.0+</version>
<fields>
<field>
<name>name</name>
<version>4.0.0</version>
<description>The target goal which should be decorated.</description>
<type>String</type>
</field>
<field>
<name>attain</name>
<version>4.0.0</version>
<description>
The goal which should be injected into the execution chain.
</description>
<type>String</type>
</field>
</fields>
</class>
<class>
<superClass>GoalDecorator</superClass>
<name>PreGoal</name>
<version>4.0.0</version>
<fields></fields>
</class>
<class>
<superClass>GoalDecorator</superClass>
<name>PostGoal</name>
<version>4.0.0</version>
<fields></fields>
</class>
</classes>
</model>

View File

@ -18,7 +18,7 @@
<dependency>
<groupId>plexus</groupId>
<artifactId>plexus</artifactId>
<version>0.16</version>
<version>0.17</version>
</dependency>
<dependency>
<groupId>plexus</groupId>

View File

@ -17,7 +17,7 @@
<dependency>
<groupId>plexus</groupId>
<artifactId>plexus</artifactId>
<version>0.16</version>
<version>0.17</version>
</dependency>
<dependency>
<groupId>maven</groupId>

View File

@ -27,7 +27,7 @@
<dependency>
<groupId>plexus</groupId>
<artifactId>plexus</artifactId>
<version>0.16</version>
<version>0.17</version>
</dependency>
</dependencies>
<build>

View File

@ -78,7 +78,7 @@
<dependency>
<groupId>plexus</groupId>
<artifactId>plexus</artifactId>
<version>0.16</version>
<version>0.17</version>
</dependency>
<dependency>
<groupId>xstream</groupId>