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/03/05 07:56:41 UTC
svn commit: r750343 - in
/maven/components/trunk/maven-core/src/main/java/org/apache/maven:
execution/MavenSession.java execution/ReactorManager.java
plugin/DefaultPluginManager.java plugin/DefaultPluginManagerSupport.java
plugin/loader/ plugin/version/
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
{