Cool. I suppose not much other stuff uses that anyway :)

K


2015-06-13 22:22 GMT+02:00 Robert Scholte <[email protected]>:

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

Reply via email to