Author: jvanzyl
Date: Thu Mar  5 06:56:41 2009
New Revision: 750343

URL: http://svn.apache.org/viewvc?rev=750343&view=rev
Log:
o more plugin manager refactoring

Removed:
    
maven/components/trunk/maven-core/src/main/java/org/apache/maven/plugin/loader/
    
maven/components/trunk/maven-core/src/main/java/org/apache/maven/plugin/version/
Modified:
    
maven/components/trunk/maven-core/src/main/java/org/apache/maven/execution/MavenSession.java
    
maven/components/trunk/maven-core/src/main/java/org/apache/maven/execution/ReactorManager.java
    
maven/components/trunk/maven-core/src/main/java/org/apache/maven/plugin/DefaultPluginManager.java
    
maven/components/trunk/maven-core/src/main/java/org/apache/maven/plugin/DefaultPluginManagerSupport.java

Modified: 
maven/components/trunk/maven-core/src/main/java/org/apache/maven/execution/MavenSession.java
URL: 
http://svn.apache.org/viewvc/maven/components/trunk/maven-core/src/main/java/org/apache/maven/execution/MavenSession.java?rev=750343&r1=750342&r2=750343&view=diff
==============================================================================
--- 
maven/components/trunk/maven-core/src/main/java/org/apache/maven/execution/MavenSession.java
 (original)
+++ 
maven/components/trunk/maven-core/src/main/java/org/apache/maven/execution/MavenSession.java
 Thu Mar  5 06:56:41 2009
@@ -163,7 +163,7 @@
         return request.getSettings();
     }
 
-    public List getSortedProjects()
+    public List<MavenProject> getSortedProjects()
     {
         return reactorManager.getSortedProjects();
     }

Modified: 
maven/components/trunk/maven-core/src/main/java/org/apache/maven/execution/ReactorManager.java
URL: 
http://svn.apache.org/viewvc/maven/components/trunk/maven-core/src/main/java/org/apache/maven/execution/ReactorManager.java?rev=750343&r1=750342&r2=750343&view=diff
==============================================================================
--- 
maven/components/trunk/maven-core/src/main/java/org/apache/maven/execution/ReactorManager.java
 (original)
+++ 
maven/components/trunk/maven-core/src/main/java/org/apache/maven/execution/ReactorManager.java
 Thu Mar  5 06:56:41 2009
@@ -155,7 +155,7 @@
         return sorter.hasMultipleProjects();
     }
 
-    public List getSortedProjects()
+    public List<MavenProject> getSortedProjects()
     {
         return sorter.getSortedProjects();
     }
@@ -194,7 +194,7 @@
     {
         private final DAG dag;
 
-        private final List sortedProjects;
+        private final List<MavenProject> sortedProjects;
 
         private MavenProject topLevelProject;
 
@@ -221,7 +221,7 @@
         // In this case, both the verify and the report goals are called
         // in a different lifecycle. Though the compiler-plugin has a valid 
usecase, although
         // that seems to work fine. We need to take versions and lifecycle 
into account.
-        public ProjectSorter( List projects )
+        public ProjectSorter( List<MavenProject> projects )
             throws CycleDetectedException, DuplicateProjectException
         {
             dag = new DAG();
@@ -380,7 +380,7 @@
             return topLevelProject;
         }
 
-        public List getSortedProjects()
+        public List<MavenProject> getSortedProjects()
         {
             return sortedProjects;
         }

Modified: 
maven/components/trunk/maven-core/src/main/java/org/apache/maven/plugin/DefaultPluginManager.java
URL: 
http://svn.apache.org/viewvc/maven/components/trunk/maven-core/src/main/java/org/apache/maven/plugin/DefaultPluginManager.java?rev=750343&r1=750342&r2=750343&view=diff
==============================================================================
--- 
maven/components/trunk/maven-core/src/main/java/org/apache/maven/plugin/DefaultPluginManager.java
 (original)
+++ 
maven/components/trunk/maven-core/src/main/java/org/apache/maven/plugin/DefaultPluginManager.java
 Thu Mar  5 06:56:41 2009
@@ -374,7 +374,7 @@
         }
 
         ResolutionGroup resolutionGroup;
-
+        
         try
         {
             resolutionGroup = repositorySystem.retrieve( pluginArtifact, 
localRepository, project.getRemoteArtifactRepositories() );
@@ -407,18 +407,12 @@
 
         // followed by the plugin's default artifact set
         dependencies.addAll( resolutionGroup.getArtifacts() );
-
-        Set repositories = new LinkedHashSet();
-
-        repositories.addAll( resolutionGroup.getResolutionRepositories() );
-
-        repositories.addAll( project.getRemoteArtifactRepositories() );
         
         ArtifactResolutionRequest request = new ArtifactResolutionRequest()
             .setArtifact( pluginArtifact )
             .setArtifactDependencies( dependencies )
             .setLocalRepository( localRepository )
-            .setRemoteRepostories( repositories.isEmpty() ? 
Collections.EMPTY_LIST : new ArrayList( repositories ) )
+            .setRemoteRepostories( project.getRemoteArtifactRepositories() )
             .setManagedVersionMap( pluginManagedDependencies )
             .setFilter( filter )                
             .setMetadataSource( repositorySystem );        
@@ -449,12 +443,8 @@
     // Mojo execution
     // ----------------------------------------------------------------------
 
-    public void executeMojo( MavenProject project,
-                             MojoExecution mojoExecution,
-                             MavenSession session )
-        throws ArtifactResolutionException, MojoFailureException,
-        ArtifactNotFoundException, InvalidDependencyVersionException, 
PluginManagerException,
-        PluginConfigurationException
+    public void executeMojo( MavenProject project, MojoExecution 
mojoExecution, MavenSession session )
+        throws ArtifactResolutionException, MojoFailureException, 
ArtifactNotFoundException, InvalidDependencyVersionException, 
PluginManagerException, PluginConfigurationException
     {
         MojoDescriptor mojoDescriptor = mojoExecution.getMojoDescriptor();
 
@@ -462,19 +452,13 @@
         // anything that wants to execute a mojo.
         if ( mojoDescriptor.isProjectRequired() && 
!session.isUsingPOMsFromFilesystem() )
         {
-            throw new PluginExecutionException( mojoExecution, project,
-                                              "Cannot execute mojo: "
-                                                              + 
mojoDescriptor.getGoal()
-                                                              + ". It requires 
a project with an existing pom.xml, but the build is not using one." );
+            throw new PluginExecutionException( mojoExecution, project, 
"Cannot execute mojo: " + mojoDescriptor.getGoal() + ". It requires a project 
with an existing pom.xml, but the build is not using one." );
         }
 
         if ( mojoDescriptor.isOnlineRequired() && session.isOffline() )
         {
             // TODO: Should we error out, or simply warn and skip??
-            throw new PluginExecutionException( mojoExecution, project,
-                                              "Mojo: "
-                                                              + 
mojoDescriptor.getGoal()
-                                                              + " requires 
online mode for execution. Maven is currently offline." );
+            throw new PluginExecutionException( mojoExecution, project, "Mojo: 
" + mojoDescriptor.getGoal() + " requires online mode for execution. Maven is 
currently offline." );
         }
 
         if ( mojoDescriptor.getDeprecated() != null )
@@ -488,7 +472,7 @@
 
         if ( mojoDescriptor.isDependencyResolutionRequired() != null )
         {
-            Collection projects;
+            Collection<MavenProject> projects;
 
             if ( mojoDescriptor.isAggregator() )
             {

Modified: 
maven/components/trunk/maven-core/src/main/java/org/apache/maven/plugin/DefaultPluginManagerSupport.java
URL: 
http://svn.apache.org/viewvc/maven/components/trunk/maven-core/src/main/java/org/apache/maven/plugin/DefaultPluginManagerSupport.java?rev=750343&r1=750342&r2=750343&view=diff
==============================================================================
--- 
maven/components/trunk/maven-core/src/main/java/org/apache/maven/plugin/DefaultPluginManagerSupport.java
 (original)
+++ 
maven/components/trunk/maven-core/src/main/java/org/apache/maven/plugin/DefaultPluginManagerSupport.java
 Thu Mar  5 06:56:41 2009
@@ -19,7 +19,6 @@
  * under the License.
  */
 
-import java.util.ArrayList;
 import java.util.List;
 
 import org.apache.maven.artifact.Artifact;
@@ -47,13 +46,12 @@
 import org.codehaus.plexus.component.annotations.Requirement;
 import org.codehaus.plexus.context.Context;
 import org.codehaus.plexus.context.ContextException;
-import org.codehaus.plexus.logging.LogEnabled;
 import org.codehaus.plexus.logging.Logger;
 import org.codehaus.plexus.personality.plexus.lifecycle.phase.Contextualizable;
 
 @Component(role = PluginManagerSupport.class)
 public class DefaultPluginManagerSupport
-    implements PluginManagerSupport, LogEnabled, Contextualizable
+    implements PluginManagerSupport, Contextualizable
 {
     @Requirement
     private MavenRepositorySystem repositorySystem;
@@ -70,7 +68,7 @@
     @Requirement
     private PluginVersionManager pluginVersionManager;
     
-    //@Requirement
+    @Requirement
     private Logger logger;
 
     private Context containerContext;
@@ -80,26 +78,9 @@
     {
         ArtifactRepository localRepository = session.getLocalRepository();
 
-        List remoteRepositories = new ArrayList();
-
-        remoteRepositories.addAll( project.getRemoteArtifactRepositories() );
+        MavenProject pluginProject = buildPluginProject( plugin, 
localRepository, project.getRemoteArtifactRepositories() );
 
-        MavenProject pluginProject = null;
-        for(MavenProject mp : (List<MavenProject>) session.getSortedProjects())
-        {
-            if(mp.getId().equals(project.getId()))
-            {
-                pluginProject = mp;
-                break;
-            }
-        }
-
-        if(pluginProject == null)
-        {
-            pluginProject = buildPluginProject( plugin, localRepository, 
remoteRepositories );
-        }
-
-        checkRequiredMavenVersion( plugin, pluginProject, localRepository, 
remoteRepositories );
+        checkRequiredMavenVersion( plugin, pluginProject, localRepository, 
project.getRemoteArtifactRepositories() );
 
         checkPluginDependencySpec( plugin, pluginProject );
 
@@ -107,8 +88,10 @@
 
         pluginArtifact = project.replaceWithActiveArtifact( pluginArtifact );
 
-        ArtifactResolutionRequest request = new ArtifactResolutionRequest( 
pluginArtifact, localRepository, remoteRepositories );
+        ArtifactResolutionRequest request = new ArtifactResolutionRequest( 
pluginArtifact, localRepository, project.getRemoteArtifactRepositories() );
+        
         ArtifactResolutionResult result = repositorySystem.resolve( request );
+        
         resolutionErrorHandler.throwErrors( request, result );
 
         return pluginArtifact;
@@ -133,26 +116,17 @@
      * @todo would be better to store this in the plugin descriptor, but then 
it won't be available to the version
      * manager which executes before the plugin is instantiated
      */
-    public void checkRequiredMavenVersion( Plugin plugin,
-                                           MavenProject pluginProject,
-                                           ArtifactRepository localRepository,
-                                           List remoteRepositories )
+    public void checkRequiredMavenVersion( Plugin plugin, MavenProject 
pluginProject, ArtifactRepository localRepository, List remoteRepositories )
         throws PluginVersionResolutionException, InvalidPluginException
     {
         // if we don't have the required Maven version, then ignore an update
-        if ( ( pluginProject.getPrerequisites() != null )
-             && ( pluginProject.getPrerequisites().getMaven() != null ) )
+        if ( ( pluginProject.getPrerequisites() != null ) && ( 
pluginProject.getPrerequisites().getMaven() != null ) )
         {
-            DefaultArtifactVersion requiredVersion = new 
DefaultArtifactVersion(
-                                                                               
  pluginProject.getPrerequisites()
-                                                                               
               .getMaven() );
+            DefaultArtifactVersion requiredVersion = new 
DefaultArtifactVersion( pluginProject.getPrerequisites().getMaven() );
 
             if ( 
runtimeInformation.getApplicationInformation().getVersion().compareTo( 
requiredVersion ) < 0 )
             {
-                throw new PluginVersionResolutionException( 
plugin.getGroupId(),
-                                                            
plugin.getArtifactId(),
-                                                            "Plugin requires 
Maven version "
-                                                                            + 
requiredVersion );
+                throw new PluginVersionResolutionException( 
plugin.getGroupId(), plugin.getArtifactId(), "Plugin requires Maven version " + 
requiredVersion );
             }
         }
     }
@@ -171,18 +145,13 @@
         }
     }
 
-    public PluginDescriptor loadIsolatedPluginDescriptor( Plugin plugin,
-                                                          MavenProject project,
-                                                          MavenSession session 
)
+    public PluginDescriptor loadIsolatedPluginDescriptor( Plugin plugin, 
MavenProject project, MavenSession session )
     {
         if ( plugin.getVersion() == null )
         {
             try
             {
-                plugin.setVersion( pluginVersionManager.resolvePluginVersion( 
plugin.getGroupId(),
-                                                                              
plugin.getArtifactId(),
-                                                                              
project,
-                                                                              
session ) );
+                plugin.setVersion( pluginVersionManager.resolvePluginVersion( 
plugin.getGroupId(), plugin.getArtifactId(), project, session ) );
             }
             catch ( PluginVersionResolutionException e )
             {
@@ -239,11 +208,7 @@
 
         try
         {
-            List componentSetDescriptors = 
RealmScanningUtils.scanForComponentSetDescriptors( artifact,
-                                                                               
               discoverer,
-                                                                               
               containerContext,
-                                                                               
               "Plugin: "
-                                                                               
                               + plugin.getKey() );
+            List componentSetDescriptors = 
RealmScanningUtils.scanForComponentSetDescriptors( artifact, discoverer, 
containerContext, "Plugin: " + plugin.getKey() );
 
             if ( !componentSetDescriptors.isEmpty() )
             {
@@ -259,11 +224,6 @@
         return null;
     }
 
-    public void enableLogging( Logger logger )
-    {
-        this.logger = logger;
-    }
-
     public void contextualize( Context context )
         throws ContextException
     {


Reply via email to