* Refactored out MPIR dependency in favor of maven-dependency-tree component.

git-svn-id: https://svn.apache.org/repos/asf/maven/archiva/trunk@477354 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Joakim Erdfelt 2006-11-20 21:37:06 +00:00
parent 62eea2b13d
commit 3852fea4d9
4 changed files with 47 additions and 38 deletions

View File

@ -119,15 +119,9 @@
<artifactId>maven-project</artifactId>
</dependency>
<dependency>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-project-info-reports-plugin</artifactId>
<version>2.1-SNAPSHOT</version>
<exclusions>
<exclusion>
<groupId>plexus</groupId>
<artifactId>plexus-utils</artifactId>
</exclusion>
</exclusions>
<groupId>org.apache.maven.shared</groupId>
<artifactId>maven-dependency-tree</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
<!-- Plexus Security Dependencies -->
<dependency>

View File

@ -42,8 +42,10 @@ import org.apache.maven.project.MavenProject;
import org.apache.maven.project.MavenProjectBuilder;
import org.apache.maven.project.ProjectBuildingException;
import org.apache.maven.project.artifact.InvalidDependencyVersionException;
import org.apache.maven.report.projectinfo.dependencies.Dependencies;
import org.apache.maven.report.projectinfo.dependencies.ReportResolutionListener;
import org.apache.maven.shared.dependency.tree.DependencyNode;
import org.apache.maven.shared.dependency.tree.DependencyTree;
import org.apache.maven.shared.dependency.tree.DependencyTreeBuilder;
import org.apache.maven.shared.dependency.tree.DependencyTreeBuilderException;
import org.codehaus.plexus.util.StringUtils;
import org.codehaus.plexus.util.xml.pull.XmlPullParserException;
import org.codehaus.plexus.xwork.action.PlexusActionSupport;
@ -55,9 +57,7 @@ import java.util.Collection;
import java.util.Collections;
import java.util.HashSet;
import java.util.Iterator;
import java.util.LinkedList;
import java.util.List;
import java.util.Map;
import java.util.Set;
/**
@ -102,6 +102,11 @@ public class ShowArtifactAction
* @plexus.requirement
*/
private ArtifactCollector collector;
/**
* @plexus.requirement
*/
private DependencyTreeBuilder dependencyTreeBuilder;
private String groupId;
@ -112,7 +117,7 @@ public class ShowArtifactAction
private Model model;
private Collection dependencies;
private List dependencyTree;
public String artifact()
@ -192,42 +197,43 @@ public class ShowArtifactAction
getLogger().debug( " processing : " + groupId + ":" + artifactId + ":" + version );
Dependencies dependencies =
DependencyTree dependencies =
collectDependencies( project, artifact, localRepository, repositories );
dependencyTree = new LinkedList();
populateFlatTreeList( dependencies.getResolvedRoot(), dependencyTree );
this.dependencyTree = new ArrayList();
populateFlatTreeList( dependencies.getRootNode(), dependencyTree );
return SUCCESS;
}
private void populateFlatTreeList( ReportResolutionListener.Node currentNode, List dependencyList )
private void populateFlatTreeList( DependencyNode currentNode, List dependencyList )
{
ReportResolutionListener.Node childNode;
DependencyNode childNode;
for ( Iterator iterator = currentNode.getChildren().iterator(); iterator.hasNext(); )
{
childNode = (ReportResolutionListener.Node) iterator.next();
childNode = (DependencyNode) iterator.next();
dependencyList.add( childNode );
populateFlatTreeList( childNode, dependencyList );
}
}
private Dependencies collectDependencies( MavenProject project, Artifact artifact,
private DependencyTree collectDependencies( MavenProject project, Artifact artifact,
ArtifactRepository localRepository, List repositories )
throws ArtifactResolutionException, ProjectBuildingException, InvalidDependencyVersionException,
ConfigurationStoreException
{
Map managedDependencyMap = Dependencies.getManagedVersionMap( project, artifactFactory );
ReportResolutionListener listener = new ReportResolutionListener();
project.setDependencyArtifacts( project.createArtifacts( artifactFactory, null, null ) );
collector.collect( project.getDependencyArtifacts(), artifact, managedDependencyMap, localRepository,
repositories, artifactMetadataSource, null, Collections.singletonList( listener ) );
return new Dependencies( project, listener, null );
try
{
return dependencyTreeBuilder.buildDependencyTree( project, localRepository, artifactFactory,
artifactMetadataSource, collector );
}
catch ( DependencyTreeBuilderException e )
{
getLogger().error( "Unable to build dependency tree.", e );
return null;
}
}
private static String createId( String groupId, String artifactId, String version )
@ -293,11 +299,6 @@ public class ShowArtifactAction
return dependencies;
}
public List getDependencyTree()
{
return dependencyTree;
}
public String getGroupId()
{
return groupId;
@ -318,6 +319,11 @@ public class ShowArtifactAction
this.artifactId = artifactId;
}
public List getDependencyTree()
{
return dependencyTree;
}
public String getVersion()
{
return version;
@ -466,4 +472,5 @@ public class ShowArtifactAction
return version;
}
}
}

View File

@ -18,7 +18,7 @@
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="my" tagdir="/WEB-INF/tags" %>
<ul>
<ul class="dependencyTree">
<c:set var="prevDepth" value="1"/>
<ww:set name="dependencyTree" value="dependencyTree"/>
<c:forEach items="${dependencyTree}" var="node">

View File

@ -116,3 +116,11 @@
.artifact-title {
}
ul.dependencyTree {
margin-left: 50px;
}
ul.dependencyTree span.artifact-link {
padding-left: 0px;
}