o removed all but one component reference of the legacy artifact code in the plugin manager

git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@746430 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Jason van Zyl 2009-02-21 02:46:14 +00:00
parent db63dc78c0
commit 41001b509d
4 changed files with 80 additions and 34 deletions

View File

@ -66,7 +66,7 @@ public class DefaultArtifactResolver
@Requirement
private ArtifactCollector artifactCollector;
// ----------------------------------------------------------------------
// Implementation
// ----------------------------------------------------------------------

View File

@ -19,9 +19,9 @@
* under the License.
*/
import java.io.ByteArrayInputStream;
import java.io.IOException;
import java.io.StringReader;
import java.io.ByteArrayInputStream;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
@ -34,16 +34,15 @@
import java.util.Set;
import org.apache.maven.ArtifactFilterManager;
import org.apache.maven.MavenTools;
import org.apache.maven.artifact.Artifact;
import org.apache.maven.artifact.factory.ArtifactFactory;
import org.apache.maven.artifact.metadata.ArtifactMetadataRetrievalException;
import org.apache.maven.artifact.metadata.ArtifactMetadataSource;
import org.apache.maven.artifact.metadata.ResolutionGroup;
import org.apache.maven.artifact.repository.ArtifactRepository;
import org.apache.maven.artifact.resolver.ArtifactNotFoundException;
import org.apache.maven.artifact.resolver.ArtifactResolutionException;
import org.apache.maven.artifact.resolver.ArtifactResolutionResult;
import org.apache.maven.artifact.resolver.ArtifactResolver;
import org.apache.maven.artifact.resolver.MultipleArtifactsNotFoundException;
import org.apache.maven.artifact.resolver.filter.ArtifactFilter;
import org.apache.maven.artifact.resolver.filter.ScopeArtifactFilter;
@ -66,18 +65,22 @@
import org.apache.maven.plugin.version.PluginVersionManager;
import org.apache.maven.plugin.version.PluginVersionNotFoundException;
import org.apache.maven.plugin.version.PluginVersionResolutionException;
import org.apache.maven.project.*;
import org.apache.maven.project.builder.*;
import org.apache.maven.project.DuplicateArtifactAttachmentException;
import org.apache.maven.project.MavenProject;
import org.apache.maven.project.MavenProjectBuilder;
import org.apache.maven.project.ProjectBuilder;
import org.apache.maven.project.ProjectBuildingException;
import org.apache.maven.project.artifact.InvalidDependencyVersionException;
import org.apache.maven.project.artifact.MavenMetadataSource;
import org.apache.maven.project.builder.PomInterpolatorTag;
import org.apache.maven.project.builder.PomTransformer;
import org.apache.maven.project.builder.ProjectUri;
import org.apache.maven.project.path.PathTranslator;
import org.apache.maven.realm.MavenRealmManager;
import org.apache.maven.realm.RealmManagementException;
import org.apache.maven.reporting.MavenReport;
import org.apache.maven.shared.model.InterpolatorProperty;
import org.apache.maven.shared.model.ModelProperty;
import org.apache.maven.shared.model.ModelMarshaller;
import org.apache.maven.shared.model.ModelProperty;
import org.apache.maven.shared.model.ModelTransformerContext;
import org.codehaus.plexus.PlexusContainer;
import org.codehaus.plexus.classworlds.realm.ClassRealm;
@ -134,13 +137,7 @@ public class DefaultPluginManager
protected PluginVersionManager pluginVersionManager;
@Requirement
protected ArtifactFactory artifactFactory;
@Requirement
protected ArtifactResolver artifactResolver;
@Requirement
protected ArtifactMetadataSource artifactMetadataSource;
protected MavenTools repositoryTools;
@Requirement
protected RuntimeInformation runtimeInformation;
@ -395,8 +392,7 @@ private Set<Artifact> getPluginArtifacts( Artifact pluginArtifact,
try
{
projectPluginDependencies = MavenMetadataSource.createArtifacts(
artifactFactory,
projectPluginDependencies = repositoryTools.createArtifacts(
plugin.getDependencies(),
null,
coreArtifactFilterManager.getCoreArtifactFilter(),
@ -412,7 +408,7 @@ private Set<Artifact> getPluginArtifacts( Artifact pluginArtifact,
try
{
resolutionGroup = artifactMetadataSource.retrieve( pluginArtifact, localRepository, project.getRemoteArtifactRepositories() );
resolutionGroup = repositoryTools.retrieve( pluginArtifact, localRepository, project.getRemoteArtifactRepositories() );
}
catch ( ArtifactMetadataRetrievalException e )
{
@ -454,15 +450,14 @@ private Set<Artifact> getPluginArtifacts( Artifact pluginArtifact,
repositories.addAll( project.getRemoteArtifactRepositories() );
ArtifactResolutionResult result = artifactResolver.resolveTransitively(
ArtifactResolutionResult result = repositoryTools.resolveTransitively(
dependencies,
pluginArtifact,
pluginManagedDependencies,
localRepository,
repositories.isEmpty()
? Collections.EMPTY_LIST
: new ArrayList( repositories ),
artifactMetadataSource,
? Collections.EMPTY_LIST
: new ArrayList( repositories ),
filter );
Set<Artifact> resolved = new LinkedHashSet<Artifact>();
@ -546,14 +541,13 @@ public void executeMojo( MavenProject project,
MavenProject p = (MavenProject) i.next();
resolveTransitiveDependencies( session,
artifactResolver,
repositoryTools,
mojoDescriptor.isDependencyResolutionRequired(),
artifactFactory,
p,
mojoDescriptor.isAggregator() );
}
downloadDependencies( project, session, artifactResolver );
downloadDependencies( project, session, repositoryTools );
}
String goalName = mojoDescriptor.getFullGoalName();
@ -1477,9 +1471,8 @@ public static String createPluginParameterRequiredMessage( MojoDescriptor mojo,
// ----------------------------------------------------------------------
protected void resolveTransitiveDependencies( MavenSession context,
ArtifactResolver artifactResolver,
MavenTools repositoryTools,
String scope,
ArtifactFactory artifactFactory,
MavenProject project,
boolean isAggregator )
throws ArtifactResolutionException, ArtifactNotFoundException,
@ -1488,7 +1481,7 @@ protected void resolveTransitiveDependencies( MavenSession context,
ArtifactFilter filter = new ScopeArtifactFilter( scope );
// TODO: such a call in MavenMetadataSource too - packaging not really the intention of type
Artifact artifact = artifactFactory.createBuildArtifact( project.getGroupId(),
Artifact artifact = repositoryTools.createBuildArtifact( project.getGroupId(),
project.getArtifactId(),
project.getVersion(),
project.getPackaging() );
@ -1499,19 +1492,18 @@ protected void resolveTransitiveDependencies( MavenSession context,
if ( project.getDependencyArtifacts() == null )
{
// NOTE: Don't worry about covering this case with the error-reporter bindings...it's already handled by the project error reporter.
project.setDependencyArtifacts( project.createArtifacts( artifactFactory, null, null ) );
project.setDependencyArtifacts( repositoryTools.createArtifacts( project.getDependencies(), null, filter, project ) );
}
Set resolvedArtifacts;
try
{
ArtifactResolutionResult result = artifactResolver.resolveTransitively(
ArtifactResolutionResult result = repositoryTools.resolveTransitively(
project.getDependencyArtifacts(),
artifact,
project.getManagedVersionMap(),
context.getLocalRepository(),
project.getRemoteArtifactRepositories(),
artifactMetadataSource,
filter );
resolvedArtifacts = result.getArtifacts();
@ -1590,7 +1582,7 @@ private boolean checkMissingArtifactsInReactor( Collection projects,
private void downloadDependencies( MavenProject project,
MavenSession context,
ArtifactResolver artifactResolver )
MavenTools repositoryTools )
throws ArtifactResolutionException, ArtifactNotFoundException
{
ArtifactRepository localRepository = context.getLocalRepository();
@ -1600,7 +1592,7 @@ private void downloadDependencies( MavenProject project,
{
Artifact artifact = (Artifact) it.next();
artifactResolver.resolve( artifact, remoteArtifactRepositories, localRepository );
repositoryTools.resolve( artifact, localRepository, remoteArtifactRepositories );
}
}

View File

@ -46,13 +46,19 @@
import org.apache.maven.artifact.repository.layout.ArtifactRepositoryLayout;
import org.apache.maven.artifact.resolver.ArtifactNotFoundException;
import org.apache.maven.artifact.resolver.ArtifactResolutionException;
import org.apache.maven.artifact.resolver.ArtifactResolutionResult;
import org.apache.maven.artifact.resolver.ArtifactResolver;
import org.apache.maven.artifact.resolver.filter.ArtifactFilter;
import org.apache.maven.artifact.versioning.ArtifactVersion;
import org.apache.maven.model.Dependency;
import org.apache.maven.model.DeploymentRepository;
import org.apache.maven.model.Model;
import org.apache.maven.model.Repository;
import org.apache.maven.model.RepositoryPolicy;
import org.apache.maven.project.MavenProject;
import org.apache.maven.project.ProjectBuildingException;
import org.apache.maven.project.artifact.InvalidDependencyVersionException;
import org.apache.maven.project.artifact.MavenMetadataSource;
import org.apache.maven.wagon.authentication.AuthenticationInfo;
import org.apache.maven.wagon.events.TransferListener;
import org.apache.maven.wagon.proxy.ProxyInfo;
@ -87,7 +93,7 @@ public class DefaultMavenTools
@Requirement
private ArtifactMetadataSource artifactMetadataSource;
@Requirement
private Logger logger;
@ -105,6 +111,11 @@ public Artifact createArtifactWithClassifier(String groupId, String artifactId,
return artifactFactory.createArtifactWithClassifier(groupId, artifactId, version, type, classifier);
}
public Artifact createBuildArtifact(String groupId, String artifactId, String version, String packaging )
{
return artifactFactory.createBuildArtifact(groupId, artifactId, version, packaging );
}
public Artifact createProjectArtifact( String groupId, String artifactId, String metaVersionId )
{
return artifactFactory.createProjectArtifact(groupId, artifactId, metaVersionId );
@ -124,6 +135,26 @@ public ResolutionGroup retrieve( Artifact artifact, ArtifactRepository localRepo
return artifactMetadataSource.retrieve(artifact, localRepository, remoteRepositories);
}
public ArtifactResolutionResult resolveTransitively(
Set<Artifact> artifacts, Artifact originatingArtifact,
Map managedVersions, ArtifactRepository localRepository,
List<ArtifactRepository> remoteRepositories,
ArtifactFilter filter )
throws ArtifactResolutionException, ArtifactNotFoundException
{
return artifactResolver.resolveTransitively(artifacts, originatingArtifact, remoteRepositories, localRepository, artifactMetadataSource );
}
public Set<Artifact> createArtifacts(
List<Dependency> dependencies, String inheritedScope,
ArtifactFilter dependencyFilter, MavenProject project)
throws InvalidDependencyVersionException
{
return MavenMetadataSource.createArtifacts(artifactFactory,
dependencies, inheritedScope, dependencyFilter, project);
}
// ----------------------------------------------------------------------------
// Code snagged from ProjectUtils: this will have to be moved somewhere else
// but just trying to collect it all in one place right now.

View File

@ -21,21 +21,30 @@
import java.io.IOException;
import java.util.List;
import java.util.Map;
import java.util.Set;
import org.apache.maven.artifact.Artifact;
import org.apache.maven.artifact.InvalidRepositoryException;
import org.apache.maven.artifact.factory.ArtifactFactory;
import org.apache.maven.artifact.metadata.ArtifactMetadataRetrievalException;
import org.apache.maven.artifact.metadata.ArtifactMetadataSource;
import org.apache.maven.artifact.metadata.ResolutionGroup;
import org.apache.maven.artifact.repository.ArtifactRepository;
import org.apache.maven.artifact.repository.ArtifactRepositoryPolicy;
import org.apache.maven.artifact.resolver.ArtifactNotFoundException;
import org.apache.maven.artifact.resolver.ArtifactResolutionException;
import org.apache.maven.artifact.resolver.ArtifactResolutionResult;
import org.apache.maven.artifact.resolver.ResolutionListener;
import org.apache.maven.artifact.resolver.filter.ArtifactFilter;
import org.apache.maven.artifact.versioning.ArtifactVersion;
import org.apache.maven.model.Dependency;
import org.apache.maven.model.DeploymentRepository;
import org.apache.maven.model.Model;
import org.apache.maven.model.Repository;
import org.apache.maven.project.MavenProject;
import org.apache.maven.project.ProjectBuildingException;
import org.apache.maven.project.artifact.InvalidDependencyVersionException;
import org.apache.maven.wagon.events.TransferListener;
import org.codehaus.plexus.component.annotations.Requirement;
@ -81,6 +90,8 @@ void resolve( Artifact artifact, ArtifactRepository localRepository, List<Artifa
Artifact createArtifactWithClassifier(String groupId, String artifactId, String version, String type, String classifier);
Artifact createBuildArtifact(String groupId, String artifactId, String version, String packaging );
Artifact createProjectArtifact( String groupId, String artifactId, String metaVersionId );
List<ArtifactVersion> retrieveAvailableVersions(Artifact artifact, ArtifactRepository localRepository, List<ArtifactRepository> remoteRepositories)
@ -89,6 +100,18 @@ List<ArtifactVersion> retrieveAvailableVersions(Artifact artifact, ArtifactRepos
ResolutionGroup retrieve( Artifact artifact, ArtifactRepository localRepository, List<ArtifactRepository> remoteRepositories )
throws ArtifactMetadataRetrievalException;
public ArtifactResolutionResult resolveTransitively(
Set<Artifact> artifacts, Artifact originatingArtifact,
Map managedVersions, ArtifactRepository localRepository,
List<ArtifactRepository> remoteRepositories,
ArtifactFilter filter )
throws ArtifactResolutionException, ArtifactNotFoundException;
Set<Artifact> createArtifacts(
List<Dependency> dependencies, String inheritedScope,
ArtifactFilter dependencyFilter, MavenProject project)
throws InvalidDependencyVersionException;
// WagonManager
ArtifactRepository getMirrorRepository( ArtifactRepository repository );