You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@maven.apache.org by Robert Scholte <rf...@apache.org> on 2015/06/13 19:09:40 UTC

Re: svn commit: r1685226 - in /maven/plugins/trunk/maven-assembly-plugin/src: main/java/org/apache/maven/plugin/assembly/artifact/ test/java/org/apache/maven/plugin/assembly/archive/phase/ test/java/org/apache/maven/plugin/assembly/artifact/

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 <kr...@apache.org>:

> 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;
>                  }
>

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
For additional commands, e-mail: dev-help@maven.apache.org


Re: svn commit: r1685226 - in /maven/plugins/trunk/maven-assembly-plugin/src: main/java/org/apache/maven/plugin/assembly/artifact/ test/java/org/apache/maven/plugin/assembly/archive/phase/ test/java/org/apache/maven/plugin/assembly/artifact/

Posted by Robert Scholte <rf...@apache.org>.
Assumptions...
http://mvnrepository.org/artifact/org.apache.maven.shared/maven-dependency-tree  
says enough usage.
although I can't tell if it uses the (removed) tree package or the current  
graph package.

Anyhow, since we're pushing this to 3.0 as well, I need to change the  
methods of  
org.apache.maven.shared.dependency.graph.DependencyGraphBuilder, because  
MavenProject is not the correct starting point; with Maven3-only it should  
be ProjectBuildingRequest (MSHARED-422).

Robert

Op Sat, 13 Jun 2015 23:02:48 +0200 schreef Kristian Rosenvold  
<kr...@gmail.com>:

> Cool. I suppose not much other stuff uses that anyway :)
>
> K
>
>
> 2015-06-13 22:22 GMT+02:00 Robert Scholte <rf...@apache.org>:
>
>> Hervé already worked on the graph-stuff. It's part of the shared
>> maven-dependency-tree.
>>
>> Robert
>>
>> Op Sat, 13 Jun 2015 22:02:44 +0200 schreef Kristian Rosenvold <
>> kristian.rosenvold@gmail.com>:
>>
>>
>>  +1 for changing the description. Maybe even the artifact id  :)
>>>
>>> There is the small problem of the complex dependency graph stuff; there
>>> does not appear to be a smart way to wrap the advanced functions.
>>>
>>> The issue is ProjectBuildingResult#getDependencyResolutionResult. There
>>> does not immediately appear to be a way to bridge this with  
>>> reflection. I
>>> considered making a wrapper that would allow all clients to use the
>>> org.eclipse.aether api but simply bridge to the corresponding sonatype
>>> implementations when needed.
>>>
>>> In that case we'd probably be looking at a third ProjectBuilder (in
>>> maven-artifact-transfer)
>>> that uses its own api + the eclipse aether api. I assume it's safe to  
>>> load
>>> the eclipse aether api inside maven 3.0.x ?
>>>
>>> Kristian
>>>
>>>
>>> 2015-06-13 21:01 GMT+02:00 Robert Scholte <rf...@apache.org>:
>>>
>>>  There's no release yet, so we're even free to change/rename
>>>> classes/methods/constructors etc.
>>>> First intention was indeed install/deploy, but then I discovered I  
>>>> had to
>>>> do more.
>>>>
>>>> So let's change the description and let this become that main
>>>> aether-neutral project.
>>>>
>>>> Robert
>>>>
>>>> Op Sat, 13 Jun 2015 20:55:51 +0200 schreef Kristian Rosenvold <
>>>> kristian.rosenvold@gmail.com>:
>>>>
>>>>
>>>>  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 <rf...@apache.org>:
>>>>>
>>>>>  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 <kr...@apache.org>:
>>>>>>
>>>>>>  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;
>>>>>>>                  }
>>>>>>>
>>>>>>>
>>>>>>>  ---------------------------------------------------------------------
>>>> To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
>>>> For additional commands, e-mail: dev-help@maven.apache.org
>>>>
>>>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
>> For additional commands, e-mail: dev-help@maven.apache.org
>>

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
For additional commands, e-mail: dev-help@maven.apache.org


Re: svn commit: r1685226 - in /maven/plugins/trunk/maven-assembly-plugin/src: main/java/org/apache/maven/plugin/assembly/artifact/ test/java/org/apache/maven/plugin/assembly/archive/phase/ test/java/org/apache/maven/plugin/assembly/artifact/

Posted by Kristian Rosenvold <kr...@gmail.com>.
Cool. I suppose not much other stuff uses that anyway :)

K


2015-06-13 22:22 GMT+02:00 Robert Scholte <rf...@apache.org>:

> Hervé already worked on the graph-stuff. It's part of the shared
> maven-dependency-tree.
>
> Robert
>
> Op Sat, 13 Jun 2015 22:02:44 +0200 schreef Kristian Rosenvold <
> kristian.rosenvold@gmail.com>:
>
>
>  +1 for changing the description. Maybe even the artifact id  :)
>>
>> There is the small problem of the complex dependency graph stuff; there
>> does not appear to be a smart way to wrap the advanced functions.
>>
>> The issue is ProjectBuildingResult#getDependencyResolutionResult. There
>> does not immediately appear to be a way to bridge this with reflection. I
>> considered making a wrapper that would allow all clients to use the
>> org.eclipse.aether api but simply bridge to the corresponding sonatype
>> implementations when needed.
>>
>> In that case we'd probably be looking at a third ProjectBuilder (in
>> maven-artifact-transfer)
>> that uses its own api + the eclipse aether api. I assume it's safe to load
>> the eclipse aether api inside maven 3.0.x ?
>>
>> Kristian
>>
>>
>> 2015-06-13 21:01 GMT+02:00 Robert Scholte <rf...@apache.org>:
>>
>>  There's no release yet, so we're even free to change/rename
>>> classes/methods/constructors etc.
>>> First intention was indeed install/deploy, but then I discovered I had to
>>> do more.
>>>
>>> So let's change the description and let this become that main
>>> aether-neutral project.
>>>
>>> Robert
>>>
>>> Op Sat, 13 Jun 2015 20:55:51 +0200 schreef Kristian Rosenvold <
>>> kristian.rosenvold@gmail.com>:
>>>
>>>
>>>  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 <rf...@apache.org>:
>>>>
>>>>  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 <kr...@apache.org>:
>>>>>
>>>>>  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;
>>>>>>                  }
>>>>>>
>>>>>>
>>>>>>  ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
>>> For additional commands, e-mail: dev-help@maven.apache.org
>>>
>>>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
> For additional commands, e-mail: dev-help@maven.apache.org
>
>

Re: svn commit: r1685226 - in /maven/plugins/trunk/maven-assembly-plugin/src: main/java/org/apache/maven/plugin/assembly/artifact/ test/java/org/apache/maven/plugin/assembly/archive/phase/ test/java/org/apache/maven/plugin/assembly/artifact/

Posted by Robert Scholte <rf...@apache.org>.
Hervé already worked on the graph-stuff. It's part of the shared  
maven-dependency-tree.

Robert

Op Sat, 13 Jun 2015 22:02:44 +0200 schreef Kristian Rosenvold  
<kr...@gmail.com>:

> +1 for changing the description. Maybe even the artifact id  :)
>
> There is the small problem of the complex dependency graph stuff; there
> does not appear to be a smart way to wrap the advanced functions.
>
> The issue is ProjectBuildingResult#getDependencyResolutionResult. There
> does not immediately appear to be a way to bridge this with reflection. I
> considered making a wrapper that would allow all clients to use the
> org.eclipse.aether api but simply bridge to the corresponding sonatype
> implementations when needed.
>
> In that case we'd probably be looking at a third ProjectBuilder (in
> maven-artifact-transfer)
> that uses its own api + the eclipse aether api. I assume it's safe to  
> load
> the eclipse aether api inside maven 3.0.x ?
>
> Kristian
>
>
> 2015-06-13 21:01 GMT+02:00 Robert Scholte <rf...@apache.org>:
>
>> There's no release yet, so we're even free to change/rename
>> classes/methods/constructors etc.
>> First intention was indeed install/deploy, but then I discovered I had  
>> to
>> do more.
>>
>> So let's change the description and let this become that main
>> aether-neutral project.
>>
>> Robert
>>
>> Op Sat, 13 Jun 2015 20:55:51 +0200 schreef Kristian Rosenvold <
>> kristian.rosenvold@gmail.com>:
>>
>>
>>  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 <rf...@apache.org>:
>>>
>>>  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 <kr...@apache.org>:
>>>>
>>>>  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;
>>>>>                  }
>>>>>
>>>>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
>> For additional commands, e-mail: dev-help@maven.apache.org
>>

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
For additional commands, e-mail: dev-help@maven.apache.org


Re: svn commit: r1685226 - in /maven/plugins/trunk/maven-assembly-plugin/src: main/java/org/apache/maven/plugin/assembly/artifact/ test/java/org/apache/maven/plugin/assembly/archive/phase/ test/java/org/apache/maven/plugin/assembly/artifact/

Posted by Robert Scholte <rf...@apache.org>.
I'm working on a DependencyCollector, so we need to to change the  
artifactId.

They all depend on a RepositorySystem from any Aether, so  
maven-repository-system?
Only one problem: it will probably be harder to find or to recognize  
why/when you need it.

Robert

Op Sat, 13 Jun 2015 22:02:44 +0200 schreef Kristian Rosenvold  
<kr...@gmail.com>:

> +1 for changing the description. Maybe even the artifact id

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
For additional commands, e-mail: dev-help@maven.apache.org


Re: svn commit: r1685226 - in /maven/plugins/trunk/maven-assembly-plugin/src: main/java/org/apache/maven/plugin/assembly/artifact/ test/java/org/apache/maven/plugin/assembly/archive/phase/ test/java/org/apache/maven/plugin/assembly/artifact/

Posted by Kristian Rosenvold <kr...@gmail.com>.
+1 for changing the description. Maybe even the artifact id  :)

There is the small problem of the complex dependency graph stuff; there
does not appear to be a smart way to wrap the advanced functions.

The issue is ProjectBuildingResult#getDependencyResolutionResult. There
does not immediately appear to be a way to bridge this with reflection. I
considered making a wrapper that would allow all clients to use the
org.eclipse.aether api but simply bridge to the corresponding sonatype
implementations when needed.

In that case we'd probably be looking at a third ProjectBuilder (in
maven-artifact-transfer)
that uses its own api + the eclipse aether api. I assume it's safe to load
the eclipse aether api inside maven 3.0.x ?

Kristian


2015-06-13 21:01 GMT+02:00 Robert Scholte <rf...@apache.org>:

> There's no release yet, so we're even free to change/rename
> classes/methods/constructors etc.
> First intention was indeed install/deploy, but then I discovered I had to
> do more.
>
> So let's change the description and let this become that main
> aether-neutral project.
>
> Robert
>
> Op Sat, 13 Jun 2015 20:55:51 +0200 schreef Kristian Rosenvold <
> kristian.rosenvold@gmail.com>:
>
>
>  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 <rf...@apache.org>:
>>
>>  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 <kr...@apache.org>:
>>>
>>>  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;
>>>>                  }
>>>>
>>>>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
> For additional commands, e-mail: dev-help@maven.apache.org
>
>

Re: svn commit: r1685226 - in /maven/plugins/trunk/maven-assembly-plugin/src: main/java/org/apache/maven/plugin/assembly/artifact/ test/java/org/apache/maven/plugin/assembly/archive/phase/ test/java/org/apache/maven/plugin/assembly/artifact/

Posted by Robert Scholte <rf...@apache.org>.
There's no release yet, so we're even free to change/rename  
classes/methods/constructors etc.
First intention was indeed install/deploy, but then I discovered I had to  
do more.

So let's change the description and let this become that main  
aether-neutral project.

Robert

Op Sat, 13 Jun 2015 20:55:51 +0200 schreef Kristian Rosenvold  
<kr...@gmail.com>:

> 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 <rf...@apache.org>:
>
>> 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 <kr...@apache.org>:
>>
>>  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;
>>>                  }
>>>

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
For additional commands, e-mail: dev-help@maven.apache.org


Re: svn commit: r1685226 - in /maven/plugins/trunk/maven-assembly-plugin/src: main/java/org/apache/maven/plugin/assembly/artifact/ test/java/org/apache/maven/plugin/assembly/archive/phase/ test/java/org/apache/maven/plugin/assembly/artifact/

Posted by Kristian Rosenvold <kr...@gmail.com>.
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 <rf...@apache.org>:

> 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 <kr...@apache.org>:
>
>  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;
>>                  }
>>
>>