Hervé Boutemy <https://plus.google.com/u/0/107251243568189719606?prsrc=4> said:
in Maven31DependencyGraphBuilder.java, why use invoker for invoker.invoke( result.getUnresolvedDependencies(), "removeAll", Collection.class, reactorDeps ); : this is simply collection, no? Correct, it is simply a collection. In the first instance I did indeed just call result.getUnresolvedDependencies().removeAll( reactorDeps ); But the intent of the code was obfuscated by the 2 different types of invocation so I converted it to use reflection as it is required by #addAll on the next line. I think the small runtime cost of reflection is vastly outweighed by the readability off the code. William On Mon, May 19, 2014 at 3:39 AM, Jason van Zyl <ja...@takari.io> wrote: > All the formatting and license header issues are resolved. William needs > to verify the license for one file. Aside from that he can answer any other > questions here. > > BTW, SVN makes this not very fun. I think we should get more aggressive on > our conversion. Most contributions I'm seeing lately are coming through > Github. Having to use git-svn or make patches between copies is not really > fun. > > On May 18, 2014, at 10:51 AM, Hervé BOUTEMY <herve.bout...@free.fr> wrote: > > >> + DependencyNode buildDependencyGraph( > >> + MavenProject project, ArtifactFilter filter, Map<String, > >> MavenProject> reactorProjects ) + throws > >> DependencyGraphBuilderException; > > > > why expect a Map<String, MavenProject> reactorProjects, when a > > List<MavenProject> seems simpler and more natural (result from > > MavenSession.getProjects())? > > > > Regards, > > > > Hervé > > > > Le samedi 17 mai 2014 14:33:41 jvan...@apache.org a écrit : > >> Author: jvanzyl > >> Date: Sat May 17 14:33:40 2014 > >> New Revision: 1595491 > >> > >> URL: http://svn.apache.org/r1595491 > >> Log: > >> MSHARED-336: Added an overloaded method to DependencyGraphBuilder that > >> accepts the reactor projects and resolves dependencies from within the > >> reactor. - Added multi-module-test to validate that the new method works > >> against both direct and transitive deps. - Added multi-module-plugin to > be > >> used to validate multi-module-test - Added ProjectReferenceKeyGenerator > as > >> there is currently no public method to generate the key for > >> MavenProject#projectReferences, MavenSession#projectMap or the Map of > >> reactor projects that we will use. - Separated the reflective invocation > >> out into the Invoker class. > >> - Made maven-project dependency scope=provided as at runtime we want the > >> version in the maven install, not 2.2.0 Submitted by: William Ferguson > >> <william.fergu...@xandar.com.au> > >> > > ... > >> > maven/shared/trunk/maven-dependency-tree/src/main/java/org/apache/maven/sha > >> red/dependency/graph/DependencyGraphBuilder.java (original) +++ > >> > maven/shared/trunk/maven-dependency-tree/src/main/java/org/apache/maven/sha > >> red/dependency/graph/DependencyGraphBuilder.java Sat May 17 14:33:40 > 2014 @@ > >> -22,6 +22,8 @@ package org.apache.maven.shared.dependen > >> import org.apache.maven.artifact.resolver.filter.ArtifactFilter; > >> import org.apache.maven.project.MavenProject; > >> > >> +import java.util.Map; > >> + > >> /** > >> * Maven project dependency graph builder API, neutral against Maven 2 > or > >> Maven 3. * > >> @@ -31,7 +33,10 @@ import org.apache.maven.project.MavenPro > >> public interface DependencyGraphBuilder > >> { > >> /** > >> - * Build the dependency graph. > >> + * Build the dependency graph from the repository. > >> + * > >> + * This is the same as {@link > >> #buildDependencyGraph(org.apache.maven.project.MavenProject, + * > >> org.apache.maven.artifact.resolver.filter.ArtifactFilter, > java.util.Map)} > >> with an empty reactorProjects Map. * > >> * @param project the project > >> * @param filter artifact filter (can be <code>null</code> > >> @@ -40,4 +45,18 @@ public interface DependencyGraphBuilder > >> */ > >> DependencyNode buildDependencyGraph( MavenProject project, > >> ArtifactFilter filter ) throws DependencyGraphBuilderException; > >> + > >> + /** > >> + * Build the dependency graph including any dependencies contained > in > >> the reactor projects. + * > >> + * @param project the project > >> + * @param filter artifact filter (can be <code>null</code> > >> + * @param reactorProjects Map of those projects contained in the > >> reactor. + * Key is made up of > >> groupId-artifactId-version. + * @return the dependency graph > >> + * @throws DependencyGraphBuilderException > >> + */ > >> + DependencyNode buildDependencyGraph( > >> + MavenProject project, ArtifactFilter filter, Map<String, > >> MavenProject> reactorProjects ) + throws > >> DependencyGraphBuilderException; > >> } > > > > > > --------------------------------------------------------------------- > > To unsubscribe, e-mail: dev-unsubscr...@maven.apache.org > > For additional commands, e-mail: dev-h...@maven.apache.org > > > > Thanks, > > Jason > > ---------------------------------------------------------- > Jason van Zyl > Founder, Apache Maven > http://twitter.com/jvanzyl > http://twitter.com/takari_io > --------------------------------------------------------- > > I never make the mistake of arguing with people for whose opinions I have > no respect. > > -- Edward Gibbon > > > > > > > > > >