I looked at maven-artifact-transfer and the code seems to be focused on install/deploy. The "description" tag in the project also says
"An API to either install or deploy artifacts with Maven3" It would appear we should either change the description of the project (to include "download") or create a separate project for aether-neutral download/resolution of artifacts, containing stuff like my code from http://svn.apache.org/viewvc?view=revision&revision=r1685177 I dont have any idea of how much of this is spread all over the place already... Kristian 2015-06-13 19:09 GMT+02:00 Robert Scholte <[email protected]>: > Hi Kristian, > > org.apache.maven.artifact.resolver.ArtifactResolver is part of > maven-compat. > I've fixed maven-artifact-transfer, which should contain the preferred > ArtifactResolver. > Let me know it that'll work for you. > > thanks, > Robert > > > Op Sat, 13 Jun 2015 11:28:03 +0200 schreef <[email protected]>: > > Author: krosenvold >> Date: Sat Jun 13 09:28:02 2015 >> New Revision: 1685226 >> >> URL: http://svn.apache.org/r1685226 >> Log: >> Switched to non-deprecated >> org.apache.maven.artifact.resolver.ArtifactResolver#resolve(org.apache.maven.artifact.resolver.ArtifactResolutionRequest) >> >> Modified: >> >> maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/artifact/DefaultDependencyResolver.java >> >> maven/plugins/trunk/maven-assembly-plugin/src/test/java/org/apache/maven/plugin/assembly/archive/phase/DependencySetAssemblyPhaseTest.java >> >> maven/plugins/trunk/maven-assembly-plugin/src/test/java/org/apache/maven/plugin/assembly/artifact/DefaultDependencyResolverTest.java >> >> Modified: >> maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/artifact/DefaultDependencyResolver.java >> URL: >> http://svn.apache.org/viewvc/maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/artifact/DefaultDependencyResolver.java?rev=1685226&r1=1685225&r2=1685226&view=diff >> >> ============================================================================== >> --- >> maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/artifact/DefaultDependencyResolver.java >> (original) >> +++ >> maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/artifact/DefaultDependencyResolver.java >> Sat Jun 13 09:28:02 2015 >> @@ -21,10 +21,8 @@ package org.apache.maven.plugin.assembly >> import org.apache.maven.artifact.Artifact; >> import org.apache.maven.artifact.factory.ArtifactFactory; >> -import org.apache.maven.artifact.metadata.ArtifactMetadataSource; >> 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.ArtifactResolutionRequest; >> import org.apache.maven.artifact.resolver.ArtifactResolutionResult; >> import org.apache.maven.artifact.resolver.ArtifactResolver; >> import >> org.apache.maven.artifact.resolver.MultipleArtifactsNotFoundException; >> @@ -69,8 +67,6 @@ public class DefaultDependencyResolver >> @Requirement >> private ArtifactResolver resolver; >> - @Requirement >> - private ArtifactMetadataSource metadataSource; >> @Requirement >> private ArtifactFactory factory; >> @@ -81,11 +77,10 @@ public class DefaultDependencyResolver >> // for plexus init >> } >> - protected DefaultDependencyResolver( final ArtifactResolver >> resolver, final ArtifactMetadataSource metadataSource, >> - final ArtifactFactory factory, >> final Logger logger ) >> + protected DefaultDependencyResolver( final ArtifactResolver >> resolver, final ArtifactFactory factory, >> + final Logger logger ) >> { >> this.resolver = resolver; >> - this.metadataSource = metadataSource; >> this.factory = factory; >> enableLogging( logger ); >> } >> @@ -195,12 +190,13 @@ public class DefaultDependencyResolver >> final Set<Artifact> resolved = new LinkedHashSet<Artifact>(); >> for ( final Artifact depArtifact : dependencyArtifacts ) >> { >> - try >> - { >> - resolver.resolve( depArtifact, repos, >> configSource.getLocalRepository() ); >> - resolved.add( depArtifact ); >> - } >> - catch ( final ArtifactResolutionException e ) >> + ArtifactResolutionRequest req = new >> ArtifactResolutionRequest(); >> + req.setLocalRepository( configSource.getLocalRepository() ); >> + req.setRemoteRepositories( repos ); >> + req.setArtifact( depArtifact ); >> + >> + ArtifactResolutionResult resolve = resolver.resolve( req ); >> + if ( resolve.hasExceptions() ) >> { >> if ( getLogger().isDebugEnabled() ) >> { >> @@ -209,18 +205,14 @@ public class DefaultDependencyResolver >> } >> missing.add( depArtifact ); >> } >> - catch ( final ArtifactNotFoundException e ) >> + else >> { >> - if ( getLogger().isDebugEnabled() ) >> - { >> - getLogger().debug( >> - "Failed to resolve: " + depArtifact.getId() + " >> for assembly: " + assembly.getId() ); >> - } >> - missing.add( depArtifact ); >> + resolved.add( depArtifact ); >> } >> } >> if ( !missing.isEmpty() ) >> + >> { >> final MavenProject project = configSource.getProject(); >> final Artifact rootArtifact = project.getArtifact(); >> @@ -245,22 +237,31 @@ public class DefaultDependencyResolver >> final MavenProject project = configSource.getProject(); >> final ArtifactFilter filter = info.getScopeFilter(); >> - final ArtifactRepository localRepository = >> configSource.getLocalRepository(); >> + >> + ArtifactResolutionRequest req = new ArtifactResolutionRequest(); >> + req.setLocalRepository( configSource.getLocalRepository() ); >> + req.setResolveRoot( false ); >> + req.setRemoteRepositories( repos ); >> + req.setResolveTransitively( true ); >> + req.setArtifact( project.getArtifact() ); >> + req.setArtifactDependencies( dependencyArtifacts ); >> + req.setManagedVersionMap( project.getManagedVersionMap() ); >> + req.setCollectionFilter( filter ); >> + req.setOffline( configSource.getMavenSession().isOffline() ); >> + req.setForceUpdate( >> configSource.getMavenSession().getRequest().isUpdateSnapshots() ); >> + req.setServers( >> configSource.getMavenSession().getRequest().getServers() ); >> + req.setMirrors( >> configSource.getMavenSession().getRequest().getMirrors() ); >> + req.setProxies( >> configSource.getMavenSession().getRequest().getProxies() ); >> + >> + >> ArtifactResolutionResult result; >> - try >> - { >> - result = resolver.resolveTransitively( dependencyArtifacts, >> project.getArtifact(), >> - >> project.getManagedVersionMap(), localRepository, repos, >> - metadataSource, >> filter ); >> - } >> - catch ( final ArtifactResolutionException e ) >> - { >> - throw new DependencyResolutionException( "Failed to resolve >> dependencies for assembly: ", e ); >> - } >> - catch ( final ArtifactNotFoundException e ) >> + >> + result = resolver.resolve( req ); >> + if ( result.hasExceptions() ) >> { >> - throw new DependencyResolutionException( "Failed to resolve >> dependencies for assembly: ", e ); >> + throw new DependencyResolutionException( "Failed to resolve >> dependencies for assembly: ", >> + >> result.getExceptions().get( 0 ) ); >> } >> getLogger().debug( "While resolving dependencies of " + >> project.getId() + ":" ); >> >> Modified: >> maven/plugins/trunk/maven-assembly-plugin/src/test/java/org/apache/maven/plugin/assembly/archive/phase/DependencySetAssemblyPhaseTest.java >> URL: >> http://svn.apache.org/viewvc/maven/plugins/trunk/maven-assembly-plugin/src/test/java/org/apache/maven/plugin/assembly/archive/phase/DependencySetAssemblyPhaseTest.java?rev=1685226&r1=1685225&r2=1685226&view=diff >> >> ============================================================================== >> --- >> maven/plugins/trunk/maven-assembly-plugin/src/test/java/org/apache/maven/plugin/assembly/archive/phase/DependencySetAssemblyPhaseTest.java >> (original) >> +++ >> maven/plugins/trunk/maven-assembly-plugin/src/test/java/org/apache/maven/plugin/assembly/archive/phase/DependencySetAssemblyPhaseTest.java >> Sat Jun 13 09:28:02 2015 >> @@ -149,8 +149,7 @@ public class DependencySetAssemblyPhaseT >> projectBuilder = macTask.projectBuilder; >> } >> - final DependencySetAssemblyPhase phase = new >> DependencySetAssemblyPhase( projectBuilder, dr, logger ); >> - >> + final DependencySetAssemblyPhase phase = new >> DependencySetAssemblyPhase( null, dr, null ); >> phase.enableLogging( logger ); >> return phase; >> >> Modified: >> maven/plugins/trunk/maven-assembly-plugin/src/test/java/org/apache/maven/plugin/assembly/artifact/DefaultDependencyResolverTest.java >> URL: >> http://svn.apache.org/viewvc/maven/plugins/trunk/maven-assembly-plugin/src/test/java/org/apache/maven/plugin/assembly/artifact/DefaultDependencyResolverTest.java?rev=1685226&r1=1685225&r2=1685226&view=diff >> >> ============================================================================== >> --- >> maven/plugins/trunk/maven-assembly-plugin/src/test/java/org/apache/maven/plugin/assembly/artifact/DefaultDependencyResolverTest.java >> (original) >> +++ >> maven/plugins/trunk/maven-assembly-plugin/src/test/java/org/apache/maven/plugin/assembly/artifact/DefaultDependencyResolverTest.java >> Sat Jun 13 09:28:02 2015 >> @@ -21,7 +21,6 @@ package org.apache.maven.plugin.assembly >> import org.apache.maven.artifact.Artifact; >> import org.apache.maven.artifact.factory.ArtifactFactory; >> -import org.apache.maven.artifact.metadata.ArtifactMetadataSource; >> import org.apache.maven.artifact.repository.ArtifactRepository; >> import org.apache.maven.artifact.repository.ArtifactRepositoryFactory; >> import >> org.apache.maven.artifact.repository.layout.ArtifactRepositoryLayout; >> @@ -60,8 +59,6 @@ public class DefaultDependencyResolverTe >> private ArtifactResolver resolver; >> - private ArtifactMetadataSource metadataSource; >> - >> private ConsoleLogger logger; >> @Override >> @@ -71,7 +68,6 @@ public class DefaultDependencyResolverTe >> super.setUp(); >> resolver = (ArtifactResolver) lookup( ArtifactResolver.ROLE ); >> - metadataSource = (ArtifactMetadataSource) lookup( >> ArtifactMetadataSource.class); >> factory = (ArtifactFactory) lookup( ArtifactFactory.ROLE ); >> repoFactory = (ArtifactRepositoryFactory) lookup( >> ArtifactRepositoryFactory.ROLE ); >> layout = (ArtifactRepositoryLayout) lookup( >> ArtifactRepositoryLayout.ROLE, "default" ); >> @@ -94,10 +90,10 @@ public class DefaultDependencyResolverTe >> final ResolutionManagementInfo info = new >> ResolutionManagementInfo( project ); >> final Assembly assembly = new Assembly(); >> - new DefaultDependencyResolver( resolver, metadataSource, >> factory, logger ).updateDependencySetResolutionRequirements( >> - ds1, >> - info, AssemblyId.createAssemblyId( assembly), >> - project); >> + new DefaultDependencyResolver( resolver, factory, logger >> ).updateDependencySetResolutionRequirements( ds1, info, >> + >> AssemblyId.createAssemblyId( >> + >> assembly ), >> + >> project ); >> assertTrue( info.isResolutionRequired() ); >> assertFalse( info.isResolvedTransitively() ); >> @@ -149,9 +145,9 @@ public class DefaultDependencyResolverTe >> allProjects.add( module2 ); >> allProjects.add( module2a ); >> - expect( cs.getReactorProjects()).andReturn( allProjects >> ).anyTimes(); >> + expect( cs.getReactorProjects() ).andReturn( allProjects >> ).anyTimes(); >> - expect( cs.getProject()).andReturn( project ).anyTimes(); >> + expect( cs.getProject() ).andReturn( project ).anyTimes(); >> final ResolutionManagementInfo info = new >> ResolutionManagementInfo( project ); >> @@ -189,15 +185,14 @@ public class DefaultDependencyResolverTe >> mm.replayAll(); >> - final DefaultDependencyResolver resolver = >> - new DefaultDependencyResolver( this.resolver, >> metadataSource, factory, logger ); >> + final DefaultDependencyResolver resolver = new >> DefaultDependencyResolver( this.resolver, factory, logger ); >> resolver.enableLogging( new ConsoleLogger( Logger.LEVEL_DEBUG, >> "test" ) ); >> final Assembly assembly = new Assembly(); >> assembly.setModuleSets( moduleSets ); >> - >> resolver.updateModuleSetResolutionRequirements(AssemblyId.createAssemblyId( >> assembly), ms1, ds1, info, cs); >> - >> resolver.updateModuleSetResolutionRequirements(AssemblyId.createAssemblyId( >> assembly ), ms2, ds2, info, cs); >> + resolver.updateModuleSetResolutionRequirements( >> AssemblyId.createAssemblyId( assembly ), ms1, ds1, info, cs ); >> + resolver.updateModuleSetResolutionRequirements( >> AssemblyId.createAssemblyId( assembly ), ms2, ds2, info, cs ); >> assertTrue( info.isResolutionRequired() ); >> @@ -246,9 +241,8 @@ public class DefaultDependencyResolverTe >> assembly.setRepositories( repositories ); >> final ResolutionManagementInfo info = new >> ResolutionManagementInfo( project ); >> - new DefaultDependencyResolver( resolver, metadataSource, >> factory, logger ).updateRepositoryResolutionRequirements(assembly, >> - info >> - ); >> + new DefaultDependencyResolver( resolver, factory, logger >> ).updateRepositoryResolutionRequirements( assembly, >> + >> info ); >> assertTrue( info.isResolutionRequired() ); >> @@ -287,8 +281,8 @@ public class DefaultDependencyResolverTe >> project.setRemoteArtifactRepositories( projectRepos ); >> final List<ArtifactRepository> aggregated = >> - new DefaultDependencyResolver( resolver, metadataSource, >> factory, logger ).aggregateRemoteArtifactRepositories( externalRepos, >> - >> >> Collections.singleton( project ) ); >> + new DefaultDependencyResolver( resolver, factory, logger >> ).aggregateRemoteArtifactRepositories( >> + externalRepos, Collections.singleton( project ) ); >> assertRepositoryWithId( er1.getId(), aggregated, true ); >> assertRepositoryWithId( er2.getId(), aggregated, true ); >> @@ -582,8 +576,10 @@ public class DefaultDependencyResolverTe >> else >> { >> boolean found = false; >> - for (final ArtifactRepository repo : repos) { >> - if (repoId.equals(repo.getId())) { >> + for ( final ArtifactRepository repo : repos ) >> + { >> + if ( repoId.equals( repo.getId() ) ) >> + { >> found = true; >> break; >> } >> >>
