You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by be...@apache.org on 2009/05/11 00:08:50 UTC

svn commit: r773422 - /maven/components/branches/MNG-2766/maven-core/src/main/java/org/apache/maven/project/DefaultMavenProjectBuilder.java

Author: bentmann
Date: Sun May 10 22:08:50 2009
New Revision: 773422

URL: http://svn.apache.org/viewvc?rev=773422&view=rev
Log:
o Decoupled from processor

Modified:
    maven/components/branches/MNG-2766/maven-core/src/main/java/org/apache/maven/project/DefaultMavenProjectBuilder.java

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=773422&r1=773421&r2=773422&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 Sun May 10 22:08:50 2009
@@ -20,10 +20,8 @@
 import java.io.Reader;
 import java.util.ArrayList;
 import java.util.Collection;
-import java.util.LinkedHashSet;
 import java.util.List;
 import java.util.Properties;
-import java.util.Set;
 
 import org.apache.maven.artifact.Artifact;
 import org.apache.maven.artifact.ArtifactUtils;
@@ -46,7 +44,6 @@
 import org.apache.maven.model.interpolator.Interpolator;
 import org.apache.maven.model.io.xpp3.MavenXpp3Reader;
 import org.apache.maven.model.lifecycle.LifecycleBindingsInjector;
-import org.apache.maven.model.processors.PluginProcessor;
 import org.apache.maven.profiles.DefaultProfileManager;
 import org.apache.maven.profiles.ProfileActivationException;
 import org.apache.maven.profiles.ProfileManager;
@@ -161,14 +158,7 @@
 
             project = this.fromDomainModelToMavenProject( model, domainModel.getParentFile(), configuration, pomFile );
 
-            Set<Plugin> pluginsFromProject = new LinkedHashSet<Plugin>();
-            for ( Plugin p : project.getModel().getBuild().getPlugins() )
-            {
-                Plugin copy = new Plugin();
-                PluginProcessor.copy2( p, copy, true );
-                copy.setDependencies( p.getDependencies() );
-                pluginsFromProject.add( copy );
-            }
+            Collection<Plugin> pluginsFromProject = project.getModel().getBuild().getPlugins();
 
             // Merge the various sources for mojo configuration:
             // 1. default values from mojo descriptor
@@ -176,35 +166,24 @@
             // 3. POM values from per-execution configuration
             // These configuration sources are given in increasing order of dominance.
 
-            lifecycle.populateDefaultConfigurationForPlugins( pluginsFromProject, project, configuration.getLocalRepository() );
-
+            // push plugin configuration down to executions
             for ( Plugin buildPlugin : pluginsFromProject )
             {
                 Xpp3Dom dom = (Xpp3Dom) buildPlugin.getConfiguration();
-                Plugin x = containsPlugin( buildPlugin, project.getModel().getBuild().getPlugins() );
 
-                for ( PluginExecution e : buildPlugin.getExecutions() )
+                if ( dom != null )
                 {
-                    if ( dom != null )
+                    for ( PluginExecution e : buildPlugin.getExecutions() )
                     {
-                        Xpp3Dom dom1 = Xpp3Dom.mergeXpp3Dom( new Xpp3Dom( dom ), (Xpp3Dom) e.getConfiguration() );
+                        Xpp3Dom dom1 = Xpp3Dom.mergeXpp3Dom( (Xpp3Dom) e.getConfiguration(), new Xpp3Dom( dom ) );
                         e.setConfiguration( dom1 );
                     }
-                    for ( String g : e.getGoals() )
-                    {
-                        if ( x != null )
-                        {
-                            PluginExecution pe = contains( g, x.getExecutions() );
-                            if ( pe != null )
-                            {
-                                Xpp3Dom dom2 = Xpp3Dom.mergeXpp3Dom( (Xpp3Dom) pe.getConfiguration(), (Xpp3Dom) e.getConfiguration() );
-                                e.setConfiguration( dom2 );
-                            }
-                        }
-                    }
                 }
             }
 
+            // merge in default values from mojo descriptor
+            lifecycle.populateDefaultConfigurationForPlugins( pluginsFromProject, project, configuration.getLocalRepository() );
+
             project.getModel().getBuild().setPlugins( new ArrayList<Plugin>( pluginsFromProject ) );
         }
         catch ( IOException e )
@@ -326,31 +305,6 @@
         return new MavenProjectBuildingResult( project, result );
     }
 
-    private static PluginExecution contains( String goal, List<PluginExecution> plugins )
-    {
-        for ( PluginExecution pe : plugins )
-        {
-            if ( pe.getGoals().contains( goal ) )
-            {
-                return pe;
-            }
-        }
-        return null;
-    }
-
-    private static Plugin containsPlugin( Plugin plugin, List<Plugin> plugins )
-    {
-        for ( Plugin p : plugins )
-        {
-            if ( p.getGroupId().equals( plugin.getGroupId() ) && p.getArtifactId().equals( plugin.getArtifactId() ) )
-            {
-                return p;
-            }
-        }
-
-        return null;
-    }
-
     private Model interpolateDomainModel( DomainModel domainModel, ProjectBuilderConfiguration config, File projectDescriptor )
         throws ProjectBuildingException
     {