You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by jv...@apache.org on 2009/05/21 01:28:39 UTC
svn commit: r776895 - in /maven/components/branches/MNG-2766: ./
maven-compat/src/main/java/org/apache/maven/artifact/repository/metadata/
maven-compat/src/main/java/org/apache/maven/artifact/resolver/
maven-core/src/main/java/org/apache/maven/executio...
Author: jvanzyl
Date: Wed May 20 23:28:39 2009
New Revision: 776895
URL: http://svn.apache.org/viewvc?rev=776895&view=rev
Log:
o restoring several backward compat fixes all the way back to 2.0 ...
Modified:
maven/components/branches/MNG-2766/build.xml
maven/components/branches/MNG-2766/maven-compat/src/main/java/org/apache/maven/artifact/repository/metadata/GroupRepositoryMetadata.java
maven/components/branches/MNG-2766/maven-compat/src/main/java/org/apache/maven/artifact/resolver/DefaultArtifactResolver.java
maven/components/branches/MNG-2766/maven-core/src/main/java/org/apache/maven/execution/ProjectSorter.java
maven/components/branches/MNG-2766/maven-core/src/main/java/org/apache/maven/lifecycle/DefaultLifecycleExecutor.java
maven/components/branches/MNG-2766/maven-core/src/main/java/org/apache/maven/plugin/PluginParameterExpressionEvaluator.java
maven/components/branches/MNG-2766/maven-core/src/main/java/org/apache/maven/project/DefaultMavenProjectBuilder.java
maven/components/branches/MNG-2766/maven-core/src/main/java/org/apache/maven/project/MavenProjectBuilder.java
maven/components/branches/MNG-2766/maven-core/src/test/java/org/apache/maven/lifecycle/LifecycleExecutorTest.java
Modified: maven/components/branches/MNG-2766/build.xml
URL: http://svn.apache.org/viewvc/maven/components/branches/MNG-2766/build.xml?rev=776895&r1=776894&r2=776895&view=diff
==============================================================================
--- maven/components/branches/MNG-2766/build.xml (original)
+++ maven/components/branches/MNG-2766/build.xml Wed May 20 23:28:39 2009
@@ -65,7 +65,7 @@
<property name="maven.assembly" location="apache-maven/target/${maven.home.basename.expected}-bin.zip"/>
<property name="maven.repo.local" value="${user.home}/.m2/repository"/>
<property name="maven.debug" value="-e"/>
- <property name="maven.test.skip" value="false"/> <!-- TODO: Change this default back to false once we're done -->
+ <property name="maven.test.skip" value="true"/> <!-- TODO: Change this default back to false once we're done -->
<property name="surefire.useFile" value="true"/>
<echo>maven.home = ${maven.home.effective}</echo>
<echo>maven.repo.local = ${maven.repo.local}</echo>
Modified: maven/components/branches/MNG-2766/maven-compat/src/main/java/org/apache/maven/artifact/repository/metadata/GroupRepositoryMetadata.java
URL: http://svn.apache.org/viewvc/maven/components/branches/MNG-2766/maven-compat/src/main/java/org/apache/maven/artifact/repository/metadata/GroupRepositoryMetadata.java?rev=776895&r1=776894&r2=776895&view=diff
==============================================================================
--- maven/components/branches/MNG-2766/maven-compat/src/main/java/org/apache/maven/artifact/repository/metadata/GroupRepositoryMetadata.java (original)
+++ maven/components/branches/MNG-2766/maven-compat/src/main/java/org/apache/maven/artifact/repository/metadata/GroupRepositoryMetadata.java Wed May 20 23:28:39 2009
@@ -21,6 +21,9 @@
import org.apache.maven.artifact.repository.ArtifactRepository;
+import java.util.Iterator;
+import java.util.List;
+
/**
* Metadata for the group directory of the repository.
*
@@ -63,6 +66,38 @@
return null;
}
+ public void addPluginMapping( String goalPrefix,
+ String artifactId )
+ {
+ addPluginMapping( goalPrefix, artifactId, artifactId );
+ }
+
+ public void addPluginMapping( String goalPrefix,
+ String artifactId,
+ String name )
+ {
+ List plugins = getMetadata().getPlugins();
+ boolean found = false;
+ for ( Iterator i = plugins.iterator(); i.hasNext() && !found; )
+ {
+ Plugin plugin = (Plugin) i.next();
+ if ( plugin.getPrefix().equals( goalPrefix ) )
+ {
+ found = true;
+ }
+ }
+ if ( !found )
+ {
+ Plugin plugin = new Plugin();
+ plugin.setPrefix( goalPrefix );
+ plugin.setArtifactId( artifactId );
+ plugin.setName( name );
+
+
+ getMetadata().addPlugin( plugin );
+ }
+ }
+
public Object getKey()
{
return groupId;
Modified: maven/components/branches/MNG-2766/maven-compat/src/main/java/org/apache/maven/artifact/resolver/DefaultArtifactResolver.java
URL: http://svn.apache.org/viewvc/maven/components/branches/MNG-2766/maven-compat/src/main/java/org/apache/maven/artifact/resolver/DefaultArtifactResolver.java?rev=776895&r1=776894&r2=776895&view=diff
==============================================================================
--- maven/components/branches/MNG-2766/maven-compat/src/main/java/org/apache/maven/artifact/resolver/DefaultArtifactResolver.java (original)
+++ maven/components/branches/MNG-2766/maven-compat/src/main/java/org/apache/maven/artifact/resolver/DefaultArtifactResolver.java Wed May 20 23:28:39 2009
@@ -42,8 +42,10 @@
import org.apache.maven.wagon.ResourceDoesNotExistException;
import org.apache.maven.wagon.TransferFailedException;
import org.apache.maven.wagon.events.TransferListener;
+import org.codehaus.plexus.PlexusContainer;
import org.codehaus.plexus.component.annotations.Component;
import org.codehaus.plexus.component.annotations.Requirement;
+import org.codehaus.plexus.component.repository.exception.ComponentLookupException;
import org.codehaus.plexus.logging.Logger;
import org.codehaus.plexus.util.FileUtils;
@@ -75,6 +77,9 @@
@Requirement
private ArtifactMetadataSource source;
+ @Requirement
+ private PlexusContainer container;
+
public void resolve( Artifact artifact, List<ArtifactRepository> remoteRepositories, ArtifactRepository localRepository, TransferListener resolutionListener )
throws ArtifactResolutionException, ArtifactNotFoundException
{
@@ -368,6 +373,20 @@
List<ResolutionListener> listeners = request.getListeners();
ArtifactFilter filter = request.getFilter();
+ //TODO: hack because metadata isn't generated in m2e correctly and i want to run the maven i have in the workspace
+ if ( source == null )
+ {
+ try
+ {
+ source = container.lookup( ArtifactMetadataSource.class );
+ }
+ catch ( ComponentLookupException e )
+ {
+ e.printStackTrace();
+ // won't happen
+ }
+ }
+
// This is an extreme hack because of the ridiculous APIs we have a root that is disconnected and
// useless. The SureFire plugin passes in a dummy root artifact that is actually used in the production
// plugin ... We have no choice but to put this hack in the core.
Modified: maven/components/branches/MNG-2766/maven-core/src/main/java/org/apache/maven/execution/ProjectSorter.java
URL: http://svn.apache.org/viewvc/maven/components/branches/MNG-2766/maven-core/src/main/java/org/apache/maven/execution/ProjectSorter.java?rev=776895&r1=776894&r2=776895&view=diff
==============================================================================
--- maven/components/branches/MNG-2766/maven-core/src/main/java/org/apache/maven/execution/ProjectSorter.java (original)
+++ maven/components/branches/MNG-2766/maven-core/src/main/java/org/apache/maven/execution/ProjectSorter.java Wed May 20 23:28:39 2009
@@ -13,7 +13,6 @@
import org.apache.maven.artifact.ArtifactUtils;
import org.apache.maven.model.Dependency;
-import org.apache.maven.model.Plugin;
import org.apache.maven.project.MavenProject;
import org.codehaus.plexus.util.dag.CycleDetectedException;
import org.codehaus.plexus.util.dag.DAG;
@@ -106,6 +105,10 @@
}
}
+ /*
+
+ TODO: Now that the build plan is fully fleshed out we have cycles
+
if ( project.getBuildPlugins() != null )
{
for( Plugin plugin : project.getBuildPlugins() )
@@ -118,6 +121,7 @@
}
}
}
+ */
}
List<MavenProject> sortedProjects = new ArrayList<MavenProject>();
Modified: maven/components/branches/MNG-2766/maven-core/src/main/java/org/apache/maven/lifecycle/DefaultLifecycleExecutor.java
URL: http://svn.apache.org/viewvc/maven/components/branches/MNG-2766/maven-core/src/main/java/org/apache/maven/lifecycle/DefaultLifecycleExecutor.java?rev=776895&r1=776894&r2=776895&view=diff
==============================================================================
--- maven/components/branches/MNG-2766/maven-core/src/main/java/org/apache/maven/lifecycle/DefaultLifecycleExecutor.java (original)
+++ maven/components/branches/MNG-2766/maven-core/src/main/java/org/apache/maven/lifecycle/DefaultLifecycleExecutor.java Wed May 20 23:28:39 2009
@@ -51,18 +51,14 @@
import org.apache.maven.plugin.PluginDescriptorParsingException;
import org.apache.maven.plugin.PluginManager;
import org.apache.maven.plugin.PluginNotFoundException;
-import org.apache.maven.plugin.PluginParameterExpressionEvaluator;
import org.apache.maven.plugin.PluginResolutionException;
import org.apache.maven.plugin.descriptor.MojoDescriptor;
-import org.apache.maven.plugin.descriptor.Parameter;
import org.apache.maven.plugin.descriptor.PluginDescriptor;
import org.apache.maven.project.MavenProject;
import org.apache.maven.repository.RepositorySystem;
import org.apache.maven.wagon.ResourceDoesNotExistException;
import org.apache.maven.wagon.TransferFailedException;
import org.codehaus.plexus.component.annotations.Requirement;
-import org.codehaus.plexus.component.configurator.expression.ExpressionEvaluationException;
-import org.codehaus.plexus.component.configurator.expression.ExpressionEvaluator;
import org.codehaus.plexus.configuration.PlexusConfiguration;
import org.codehaus.plexus.logging.Logger;
import org.codehaus.plexus.personality.plexus.lifecycle.phase.Initializable;
@@ -669,7 +665,7 @@
throws LifecycleExecutionException
{
for( Plugin p : plugins )
- {
+ {
for( PluginExecution e : p.getExecutions() )
{
for( String goal : e.getGoals() )
Modified: maven/components/branches/MNG-2766/maven-core/src/main/java/org/apache/maven/plugin/PluginParameterExpressionEvaluator.java
URL: http://svn.apache.org/viewvc/maven/components/branches/MNG-2766/maven-core/src/main/java/org/apache/maven/plugin/PluginParameterExpressionEvaluator.java?rev=776895&r1=776894&r2=776895&view=diff
==============================================================================
--- maven/components/branches/MNG-2766/maven-core/src/main/java/org/apache/maven/plugin/PluginParameterExpressionEvaluator.java (original)
+++ maven/components/branches/MNG-2766/maven-core/src/main/java/org/apache/maven/plugin/PluginParameterExpressionEvaluator.java Wed May 20 23:28:39 2009
@@ -26,8 +26,10 @@
import org.apache.maven.plugin.descriptor.MojoDescriptor;
import org.apache.maven.plugin.descriptor.PluginDescriptor;
import org.apache.maven.project.MavenProject;
+import org.apache.maven.project.path.PathTranslator;
import org.codehaus.plexus.component.configurator.expression.ExpressionEvaluationException;
import org.codehaus.plexus.component.configurator.expression.ExpressionEvaluator;
+import org.codehaus.plexus.logging.Logger;
import org.codehaus.plexus.util.introspection.ReflectionValueExtractor;
/**
@@ -46,6 +48,12 @@
private Properties properties;
+ @Deprecated //TODO: used by the Enforcer plugin
+ public PluginParameterExpressionEvaluator( MavenSession session, MojoExecution mojoExecution, PathTranslator pathTranslator, Logger logger, MavenProject project, Properties properties )
+ {
+ this( session, mojoExecution );
+ }
+
public PluginParameterExpressionEvaluator( MavenSession session )
{
this( session, null );
Modified: maven/components/branches/MNG-2766/maven-core/src/main/java/org/apache/maven/project/DefaultMavenProjectBuilder.java
URL: http://svn.apache.org/viewvc/maven/components/branches/MNG-2766/maven-core/src/main/java/org/apache/maven/project/DefaultMavenProjectBuilder.java?rev=776895&r1=776894&r2=776895&view=diff
==============================================================================
--- maven/components/branches/MNG-2766/maven-core/src/main/java/org/apache/maven/project/DefaultMavenProjectBuilder.java (original)
+++ maven/components/branches/MNG-2766/maven-core/src/main/java/org/apache/maven/project/DefaultMavenProjectBuilder.java Wed May 20 23:28:39 2009
@@ -263,6 +263,12 @@
return build( project, configuration );
}
+ public MavenProject buildFromRepository( Artifact artifact, List<ArtifactRepository> remoteRepositories, ArtifactRepository localRepository, boolean force )
+ throws ProjectBuildingException
+ {
+ return buildFromRepository( artifact, remoteRepositories, localRepository );
+ }
+
public MavenProject buildFromRepository( Artifact artifact, List<ArtifactRepository> remoteRepositories, ArtifactRepository localRepository )
throws ProjectBuildingException
{
Modified: maven/components/branches/MNG-2766/maven-core/src/main/java/org/apache/maven/project/MavenProjectBuilder.java
URL: http://svn.apache.org/viewvc/maven/components/branches/MNG-2766/maven-core/src/main/java/org/apache/maven/project/MavenProjectBuilder.java?rev=776895&r1=776894&r2=776895&view=diff
==============================================================================
--- maven/components/branches/MNG-2766/maven-core/src/main/java/org/apache/maven/project/MavenProjectBuilder.java (original)
+++ maven/components/branches/MNG-2766/maven-core/src/main/java/org/apache/maven/project/MavenProjectBuilder.java Wed May 20 23:28:39 2009
@@ -31,13 +31,20 @@
throws ProjectBuildingException;
//TODO maven-site-plugin -- Vincent, Dennis and Lukas are checking but this doesn't appear to be required anymore.
+ @Deprecated
MavenProject build( File project, ArtifactRepository localRepository, ProfileManager profileManager )
throws ProjectBuildingException;
- //TODO remote-resources-plugin
+ //TODO remote-resources-plugin
+ @Deprecated
MavenProject buildFromRepository( Artifact artifact, List<ArtifactRepository> remoteRepositories, ArtifactRepository localRepository )
throws ProjectBuildingException;
+ //TODO remote-resources-plugin
+ @Deprecated
+ MavenProject buildFromRepository( Artifact artifact, List<ArtifactRepository> remoteRepositories, ArtifactRepository localRepository, boolean force )
+ throws ProjectBuildingException;
+
// TODO: This also doesn't really belong here as it's a mix of project builder and artifact resolution and belongs
// in an integration component like the embedder.
MavenProjectBuildingResult buildProjectWithDependencies( File project, ProjectBuilderConfiguration configuration )
Modified: maven/components/branches/MNG-2766/maven-core/src/test/java/org/apache/maven/lifecycle/LifecycleExecutorTest.java
URL: http://svn.apache.org/viewvc/maven/components/branches/MNG-2766/maven-core/src/test/java/org/apache/maven/lifecycle/LifecycleExecutorTest.java?rev=776895&r1=776894&r2=776895&view=diff
==============================================================================
--- maven/components/branches/MNG-2766/maven-core/src/test/java/org/apache/maven/lifecycle/LifecycleExecutorTest.java (original)
+++ maven/components/branches/MNG-2766/maven-core/src/test/java/org/apache/maven/lifecycle/LifecycleExecutorTest.java Wed May 20 23:28:39 2009
@@ -123,6 +123,49 @@
assertEquals( "jar:jar", lifecyclePlan.get( 8 ).getMojoDescriptor().getFullGoalName() );
assertEquals( "install:install", lifecyclePlan.get( 9 ).getMojoDescriptor().getFullGoalName() );
}
+
+ // We need to take in multiple lifecycles
+ public void testCalculationOfBuildPlanWithMultipleExecutionsOfModello()
+ throws Exception
+ {
+ File pom = getProject( "project-with-multiple-executions" );
+ MavenSession session = createMavenSession( pom );
+ assertEquals( "project-with-multiple-executions", session.getCurrentProject().getArtifactId() );
+ assertEquals( "1.0", session.getCurrentProject().getVersion() );
+ List<MojoExecution> lifecyclePlan = lifecycleExecutor.calculateBuildPlan( session, "clean", "install" );
+
+ for ( MojoExecution me : lifecyclePlan )
+ {
+ System.out.println( me.getExecutionId() );
+ }
+
+ /*
+ //[01] clean:clean
+ //[02] resources:resources
+ //[03] compiler:compile
+ //[04] plexus-component-metadata:generate-metadata
+ //[05] resources:testResources
+ //[06] compiler:testCompile
+ //[07] plexus-component-metadata:generate-test-metadata
+ //[08] surefire:test
+ //[09] jar:jar
+ //[10] install:install
+ //
+ assertEquals( 10, lifecyclePlan.size() );
+
+ assertEquals( "clean:clean", lifecyclePlan.get( 0 ).getMojoDescriptor().getFullGoalName() );
+ assertEquals( "resources:resources", lifecyclePlan.get( 1 ).getMojoDescriptor().getFullGoalName() );
+ assertEquals( "compiler:compile", lifecyclePlan.get( 2 ).getMojoDescriptor().getFullGoalName() );
+ assertEquals( "plexus-component-metadata:generate-metadata", lifecyclePlan.get( 3 ).getMojoDescriptor().getFullGoalName() );
+ assertEquals( "resources:testResources", lifecyclePlan.get( 4 ).getMojoDescriptor().getFullGoalName() );
+ assertEquals( "compiler:testCompile", lifecyclePlan.get( 5 ).getMojoDescriptor().getFullGoalName() );
+ assertEquals( "plexus-component-metadata:generate-test-metadata", lifecyclePlan.get( 6 ).getMojoDescriptor().getFullGoalName() );
+ assertEquals( "surefire:test", lifecyclePlan.get( 7 ).getMojoDescriptor().getFullGoalName() );
+ assertEquals( "jar:jar", lifecyclePlan.get( 8 ).getMojoDescriptor().getFullGoalName() );
+ assertEquals( "install:install", lifecyclePlan.get( 9 ).getMojoDescriptor().getFullGoalName() );
+ */
+ }
+
public void testCalculationOfBuildPlanWithIndividualTaskOfTheCleanCleanGoal()