Skip to content

Commit

Permalink
mojohaus#704: Removing ArtifactResolver
Browse files Browse the repository at this point in the history
  • Loading branch information
jarmoniuk committed Nov 24, 2022
1 parent 44883ad commit 2ec383d
Show file tree
Hide file tree
Showing 50 changed files with 99 additions and 296 deletions.
Expand Up @@ -47,14 +47,10 @@

import org.apache.commons.lang3.tuple.ImmutablePair;
import org.apache.commons.lang3.tuple.Pair;
import org.apache.maven.RepositoryUtils;
import org.apache.maven.artifact.Artifact;
import org.apache.maven.artifact.ArtifactUtils;
import org.apache.maven.artifact.manager.WagonManager;
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.ArtifactResolver;
import org.apache.maven.artifact.versioning.ArtifactVersion;
import org.apache.maven.artifact.versioning.DefaultArtifactVersion;
import org.apache.maven.execution.MavenSession;
Expand Down Expand Up @@ -89,9 +85,12 @@
import org.codehaus.plexus.component.configurator.expression.ExpressionEvaluator;
import org.codehaus.plexus.util.StringUtils;
import org.codehaus.plexus.util.xml.pull.XmlPullParserException;
import org.eclipse.aether.resolution.ArtifactRequest;
import org.eclipse.aether.resolution.VersionRangeRequest;
import org.eclipse.aether.resolution.VersionRangeResolutionException;

import static org.apache.maven.RepositoryUtils.toArtifact;

/**
* Helper class that provides common functionality required by both the mojos and the reports.
*
Expand All @@ -116,13 +115,6 @@ public class DefaultVersionsHelper
*/
private RuleSet ruleSet;

/**
* The local repository to consult.
*
* @since 1.0-alpha-3
*/
private ArtifactRepository localRepository;

private RepositorySystem repositorySystem;

private org.eclipse.aether.RepositorySystem aetherRepositorySystem;
Expand All @@ -141,13 +133,6 @@ public class DefaultVersionsHelper
*/
private MavenSession mavenSession;

/**
* The artifact resolver.
*
* @since 1.3
*/
private ArtifactResolver artifactResolver;

private MojoExecution mojoExecution;

/**
Expand Down Expand Up @@ -383,7 +368,7 @@ public ArtifactVersions lookupArtifactVersions( Artifact artifact, boolean usePl
return new ArtifactVersions( artifact,
aetherRepositorySystem.resolveVersionRange( mavenSession.getRepositorySession(),
new VersionRangeRequest(
RepositoryUtils.toArtifact( artifact ).setVersion( "(,)" ),
toArtifact( artifact ).setVersion( "(,)" ),
usePluginRepositories
? mavenSession.getCurrentProject().getRemotePluginRepositories()
: mavenSession.getCurrentProject().getRemoteProjectRepositories(),
Expand Down Expand Up @@ -479,13 +464,21 @@ private List<IgnoreVersion> getIgnoredVersions( Artifact artifact )

@Override
public void resolveArtifact( Artifact artifact, boolean usePluginRepositories )
throws ArtifactResolutionException, ArtifactNotFoundException
throws ArtifactResolutionException
{
artifactResolver.resolve( artifact,
usePluginRepositories
? mavenSession.getCurrentProject().getPluginArtifactRepositories()
: mavenSession.getCurrentProject().getRemoteArtifactRepositories(),
localRepository );
try
{
aetherRepositorySystem.resolveArtifact( mavenSession.getRepositorySession(),
new ArtifactRequest( toArtifact( artifact ),
usePluginRepositories
? mavenSession.getCurrentProject().getRemotePluginRepositories()
: mavenSession.getCurrentProject().getRemoteProjectRepositories(),
getClass().getName() ) );
}
catch ( org.eclipse.aether.resolution.ArtifactResolutionException e )
{
throw new ArtifactResolutionException( e.getMessage(), artifact );
}
}

@Override
Expand Down Expand Up @@ -882,12 +875,9 @@ public Dependency interpolateVersion( final Dependency dependency, final MavenPr
public static class Builder
{
private RepositorySystem repositorySystem;
private ArtifactResolver artifactResolver;
private ArtifactRepository localRepository;
private Collection<String> ignoredVersions;
private RuleSet ruleSet;
private WagonManager wagonManager;
private Settings settings;
private String serverId;
private String rulesUri;
private Log log;
Expand All @@ -905,18 +895,6 @@ public Builder withRepositorySystem( RepositorySystem repositorySystem )
return this;
}

public Builder withArtifactResolver( ArtifactResolver artifactResolver )
{
this.artifactResolver = artifactResolver;
return this;
}

public Builder withLocalRepository( ArtifactRepository localRepository )
{
this.localRepository = localRepository;
return this;
}

public Builder withIgnoredVersions( Collection<String> ignoredVersions )
{
this.ignoredVersions = ignoredVersions;
Expand All @@ -935,12 +913,6 @@ public Builder withWagonManager( WagonManager wagonManager )
return this;
}

public Builder withSettings( Settings settings )
{
this.settings = settings;
return this;
}

public Builder withServerId( String serverId )
{
this.serverId = serverId;
Expand Down Expand Up @@ -986,7 +958,6 @@ public DefaultVersionsHelper build() throws MojoExecutionException
{
DefaultVersionsHelper instance = new DefaultVersionsHelper();
instance.repositorySystem = repositorySystem;
instance.artifactResolver = artifactResolver;
instance.mavenSession = mavenSession;
instance.mojoExecution = mojoExecution;
if ( ruleSet != null )
Expand All @@ -1002,16 +973,15 @@ public DefaultVersionsHelper build() throws MojoExecutionException
instance.ruleSet = isBlank( rulesUri )
? new RuleSet()
: isClasspathUri( rulesUri )
? getRulesFromClasspath( rulesUri, log )
: getRulesViaWagon( rulesUri, log, serverId, serverId, wagonManager,
settings );
? getRulesFromClasspath( rulesUri, log )
: getRulesViaWagon( rulesUri, log, serverId, serverId, wagonManager,
mavenSession.getSettings() );
}
if ( ignoredVersions != null && !ignoredVersions.isEmpty() )
{
instance.ruleSet = enrichRuleSet( ignoredVersions, instance.ruleSet );
}
instance.aetherRepositorySystem = aetherRepositorySystem;
instance.localRepository = localRepository;
instance.log = log;
return instance;
}
Expand Down
Expand Up @@ -25,7 +25,6 @@
import java.util.Set;

import org.apache.maven.artifact.Artifact;
import org.apache.maven.artifact.resolver.ArtifactNotFoundException;
import org.apache.maven.artifact.resolver.ArtifactResolutionException;
import org.apache.maven.artifact.versioning.ArtifactVersion;
import org.apache.maven.model.Dependency;
Expand Down Expand Up @@ -408,12 +407,11 @@ public VersionPropertiesMapRequest build()
*
* @param artifact The artifact to resolve.
* @param usePluginRepositories whether to resolve from the plugin repositories or the regular repositories.
* @throws ArtifactResolutionException if something goes wrong.
* @throws ArtifactNotFoundException if something goes wrong.
* @throws ArtifactResolutionException if resolution is unsuccessful
* @since 1.3
*/
void resolveArtifact( Artifact artifact, boolean usePluginRepositories )
throws ArtifactResolutionException, ArtifactNotFoundException;
throws ArtifactResolutionException;

/**
* Attempts to interpolate the version from model properties.
Expand Down
Expand Up @@ -28,9 +28,6 @@

import org.apache.maven.artifact.Artifact;
import org.apache.maven.artifact.manager.WagonManager;
import org.apache.maven.artifact.repository.DefaultArtifactRepository;
import org.apache.maven.artifact.repository.layout.DefaultRepositoryLayout;
import org.apache.maven.artifact.resolver.DefaultArtifactResolver;
import org.apache.maven.artifact.versioning.ArtifactVersion;
import org.apache.maven.execution.MavenSession;
import org.apache.maven.plugin.MojoExecution;
Expand All @@ -41,7 +38,6 @@
import org.apache.maven.plugin.testing.stubs.DefaultArtifactHandlerStub;
import org.apache.maven.project.MavenProject;
import org.apache.maven.repository.RepositorySystem;
import org.apache.maven.settings.Settings;
import org.codehaus.mojo.versions.model.IgnoreVersion;
import org.codehaus.mojo.versions.model.Rule;
import org.codehaus.mojo.versions.model.RuleSet;
Expand Down Expand Up @@ -234,12 +230,8 @@ private DefaultVersionsHelper createHelper( org.eclipse.aether.RepositorySystem
.thenReturn( emptyList() );
return new DefaultVersionsHelper.Builder()
.withRepositorySystem( lookup( RepositorySystem.class ) )
.withArtifactResolver( new DefaultArtifactResolver() )
.withAetherRepositorySystem( aetherRepositorySystem )
.withLocalRepository( new DefaultArtifactRepository(
"", "", new DefaultRepositoryLayout() ) )
.withWagonManager( lookup( WagonManager.class ) )
.withSettings( new Settings() )
.withServerId( "" )
.withRulesUri( rulesUri )
.withLog( mock( Log.class ) )
Expand Down
Expand Up @@ -32,7 +32,6 @@
import org.apache.commons.lang3.StringUtils;
import org.apache.maven.artifact.Artifact;
import org.apache.maven.artifact.manager.WagonManager;
import org.apache.maven.artifact.resolver.ArtifactResolver;
import org.apache.maven.artifact.resolver.filter.ArtifactFilter;
import org.apache.maven.model.Dependency;
import org.apache.maven.model.Parent;
Expand Down Expand Up @@ -162,11 +161,9 @@ protected AbstractVersionsDependencyUpdaterMojo( RepositorySystem repositorySyst
org.eclipse.aether.RepositorySystem aetherRepositorySystem,
MavenProjectBuilder projectBuilder,
WagonManager wagonManager,
ArtifactResolver artifactResolver,
Map<String, ChangeRecorder> changeRecorders )
{
super( repositorySystem, aetherRepositorySystem, projectBuilder, wagonManager, artifactResolver,
changeRecorders );
super( repositorySystem, aetherRepositorySystem, projectBuilder, wagonManager, changeRecorders );
}

/**
Expand Down
Expand Up @@ -31,7 +31,6 @@

import org.apache.commons.lang3.StringUtils;
import org.apache.maven.artifact.manager.WagonManager;
import org.apache.maven.artifact.resolver.ArtifactResolver;
import org.apache.maven.plugins.annotations.Parameter;
import org.apache.maven.project.MavenProjectBuilder;
import org.apache.maven.repository.RepositorySystem;
Expand Down Expand Up @@ -89,11 +88,9 @@ protected AbstractVersionsDisplayMojo( RepositorySystem repositorySystem,
org.eclipse.aether.RepositorySystem aetherRepositorySystem,
MavenProjectBuilder projectBuilder,
WagonManager wagonManager,
ArtifactResolver artifactResolver,
Map<String, ChangeRecorder> changeRecorders )
{
super( repositorySystem, aetherRepositorySystem, projectBuilder, wagonManager, artifactResolver,
changeRecorders );
super( repositorySystem, aetherRepositorySystem, projectBuilder, wagonManager, changeRecorders );
}

@SuppressWarnings( "unchecked" )
Expand Down
Expand Up @@ -27,7 +27,6 @@
import org.apache.maven.artifact.Artifact;
import org.apache.maven.artifact.manager.WagonManager;
import org.apache.maven.artifact.repository.ArtifactRepository;
import org.apache.maven.artifact.resolver.ArtifactResolver;
import org.apache.maven.artifact.versioning.ArtifactVersion;
import org.apache.maven.artifact.versioning.VersionRange;
import org.apache.maven.doxia.sink.Sink;
Expand All @@ -40,7 +39,6 @@
import org.apache.maven.reporting.AbstractMavenReport;
import org.apache.maven.reporting.MavenReportException;
import org.apache.maven.repository.RepositorySystem;
import org.apache.maven.settings.Settings;
import org.codehaus.mojo.versions.api.ArtifactVersions;
import org.codehaus.mojo.versions.api.DefaultVersionsHelper;
import org.codehaus.mojo.versions.api.VersionRetrievalException;
Expand Down Expand Up @@ -98,12 +96,6 @@ public abstract class AbstractVersionsReport<T>
*/
private final WagonManager wagonManager;

/**
* @since 1.0-alpha-3
*/
@Parameter( defaultValue = "${settings}", readonly = true )
private Settings settings;

/**
* settings.xml's server id for the URL. This is used when wagon needs extra authentication information.
*
Expand Down Expand Up @@ -156,8 +148,6 @@ public abstract class AbstractVersionsReport<T>
@Parameter( defaultValue = "${mojoExecution}", required = true, readonly = true )
private MojoExecution mojoExecution;

protected ArtifactResolver artifactResolver;

/**
* <p>Allows specifying the {@linkplain RuleSet} object describing rules
* on artifact versions to ignore when considering updates.</p>
Expand Down Expand Up @@ -196,14 +186,12 @@ public abstract class AbstractVersionsReport<T>

protected AbstractVersionsReport( I18N i18n, RepositorySystem repositorySystem,
org.eclipse.aether.RepositorySystem aetherRepositorySystem,
ArtifactResolver artifactResolver,
WagonManager wagonManager,
ReportRendererFactory rendererFactory )
{
this.i18n = i18n;
this.repositorySystem = repositorySystem;
this.aetherRepositorySystem = aetherRepositorySystem;
this.artifactResolver = artifactResolver;
this.wagonManager = wagonManager;
this.rendererFactory = rendererFactory;
}
Expand All @@ -217,11 +205,8 @@ public VersionsHelper getHelper()
{
helper = new DefaultVersionsHelper.Builder()
.withRepositorySystem( repositorySystem )
.withArtifactResolver( artifactResolver )
.withAetherRepositorySystem( aetherRepositorySystem )
.withLocalRepository( localRepository )
.withWagonManager( wagonManager )
.withSettings( settings )
.withServerId( serverId )
.withRulesUri( rulesUri )
.withRuleSet( ruleSet )
Expand Down

0 comments on commit 2ec383d

Please sign in to comment.