mirror of https://github.com/apache/maven.git
o Fixed missing version resolution for extension plugins
git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@803266 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
91d459309f
commit
9131de7039
|
@ -925,7 +925,7 @@ public class DefaultLifecycleExecutor
|
|||
return pluginManager.getMojoDescriptor( plugin, goal, repositoryRequest );
|
||||
}
|
||||
|
||||
private void resolvePluginVersion( Plugin plugin, RepositoryRequest repositoryRequest )
|
||||
public void resolvePluginVersion( Plugin plugin, RepositoryRequest repositoryRequest )
|
||||
throws PluginNotFoundException
|
||||
{
|
||||
ArtifactRepository localRepository = repositoryRequest.getLocalRepository();
|
||||
|
|
|
@ -20,10 +20,8 @@ package org.apache.maven.lifecycle;
|
|||
*/
|
||||
|
||||
import java.util.Collection;
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
|
||||
import org.apache.maven.artifact.repository.ArtifactRepository;
|
||||
import org.apache.maven.artifact.repository.RepositoryRequest;
|
||||
import org.apache.maven.execution.MavenSession;
|
||||
import org.apache.maven.model.Plugin;
|
||||
|
@ -76,5 +74,8 @@ public interface LifecycleExecutor
|
|||
void populateDefaultConfigurationForPlugins( Collection<Plugin> plugins, RepositoryRequest repositoryRequest )
|
||||
throws LifecycleExecutionException;
|
||||
|
||||
void resolvePluginVersion( Plugin plugin, RepositoryRequest repositoryRequest )
|
||||
throws PluginNotFoundException;
|
||||
|
||||
void execute( MavenSession session );
|
||||
}
|
||||
|
|
|
@ -24,7 +24,7 @@ import java.util.List;
|
|||
import org.apache.maven.artifact.repository.ArtifactRepository;
|
||||
import org.apache.maven.artifact.repository.DefaultRepositoryRequest;
|
||||
import org.apache.maven.artifact.repository.RepositoryRequest;
|
||||
import org.apache.maven.artifact.resolver.ArtifactResolutionException;
|
||||
import org.apache.maven.artifact.resolver.AbstractArtifactResolutionException;
|
||||
import org.apache.maven.model.Model;
|
||||
import org.apache.maven.model.building.AbstractModelBuildingListener;
|
||||
import org.apache.maven.model.building.ModelBuildingEvent;
|
||||
|
@ -142,7 +142,7 @@ class DefaultModelBuildingListener
|
|||
|
||||
projectRealm = projectBuildingHelper.createProjectRealm( model, repositoryRequest );
|
||||
}
|
||||
catch ( ArtifactResolutionException e )
|
||||
catch ( AbstractArtifactResolutionException e )
|
||||
{
|
||||
event.getProblems().addError( "Unresolveable build extensions: " + e.getMessage(), e );
|
||||
}
|
||||
|
|
|
@ -36,12 +36,14 @@ import org.apache.maven.artifact.resolver.ArtifactResolutionResult;
|
|||
import org.apache.maven.artifact.resolver.ResolutionErrorHandler;
|
||||
import org.apache.maven.artifact.resolver.filter.ArtifactFilter;
|
||||
import org.apache.maven.classrealm.ClassRealmManager;
|
||||
import org.apache.maven.lifecycle.LifecycleExecutor;
|
||||
import org.apache.maven.model.Build;
|
||||
import org.apache.maven.model.Dependency;
|
||||
import org.apache.maven.model.Extension;
|
||||
import org.apache.maven.model.Model;
|
||||
import org.apache.maven.model.Plugin;
|
||||
import org.apache.maven.model.Repository;
|
||||
import org.apache.maven.plugin.PluginNotFoundException;
|
||||
import org.apache.maven.repository.RepositorySystem;
|
||||
import org.codehaus.plexus.PlexusContainer;
|
||||
import org.codehaus.plexus.classworlds.realm.ClassRealm;
|
||||
|
@ -79,6 +81,9 @@ public class DefaultProjectBuildingHelper
|
|||
@Requirement
|
||||
private ArtifactFilterManager artifactFilterManager;
|
||||
|
||||
@Requirement
|
||||
private LifecycleExecutor lifecycleExecutor;
|
||||
|
||||
public List<ArtifactRepository> createArtifactRepositories( List<Repository> pomRepositories,
|
||||
List<ArtifactRepository> externalRepositories )
|
||||
throws InvalidRepositoryException
|
||||
|
@ -103,7 +108,7 @@ public class DefaultProjectBuildingHelper
|
|||
}
|
||||
|
||||
public ClassRealm createProjectRealm( Model model, RepositoryRequest repositoryRequest )
|
||||
throws ArtifactResolutionException
|
||||
throws ArtifactResolutionException, PluginNotFoundException
|
||||
{
|
||||
ClassRealm projectRealm = null;
|
||||
|
||||
|
@ -142,6 +147,11 @@ public class DefaultProjectBuildingHelper
|
|||
|
||||
for ( Plugin plugin : extensionPlugins )
|
||||
{
|
||||
if ( plugin.getVersion() == null )
|
||||
{
|
||||
lifecycleExecutor.resolvePluginVersion( plugin, repositoryRequest );
|
||||
}
|
||||
|
||||
Artifact artifact = repositorySystem.createPluginArtifact( plugin );
|
||||
|
||||
Set<Artifact> dependencies = new LinkedHashSet<Artifact>();
|
||||
|
|
|
@ -27,6 +27,7 @@ import org.apache.maven.artifact.repository.RepositoryRequest;
|
|||
import org.apache.maven.artifact.resolver.ArtifactResolutionException;
|
||||
import org.apache.maven.model.Model;
|
||||
import org.apache.maven.model.Repository;
|
||||
import org.apache.maven.plugin.PluginNotFoundException;
|
||||
import org.codehaus.plexus.classworlds.realm.ClassRealm;
|
||||
|
||||
/**
|
||||
|
@ -61,6 +62,6 @@ public interface ProjectBuildingHelper
|
|||
* @throws ArtifactResolutionException If any build extension could not be resolved.
|
||||
*/
|
||||
ClassRealm createProjectRealm( Model model, RepositoryRequest repositoryRequest )
|
||||
throws ArtifactResolutionException;
|
||||
throws ArtifactResolutionException, PluginNotFoundException;
|
||||
|
||||
}
|
||||
|
|
|
@ -80,4 +80,10 @@ public class EmptyLifecycleExecutor
|
|||
throws LifecycleExecutionException
|
||||
{
|
||||
}
|
||||
|
||||
public void resolvePluginVersion( Plugin plugin, RepositoryRequest repositoryRequest )
|
||||
throws PluginNotFoundException
|
||||
{
|
||||
}
|
||||
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue