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()