mirror of https://github.com/apache/archiva.git
* 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:
parent
62eea2b13d
commit
3852fea4d9
|
@ -119,15 +119,9 @@
|
||||||
<artifactId>maven-project</artifactId>
|
<artifactId>maven-project</artifactId>
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>org.apache.maven.plugins</groupId>
|
<groupId>org.apache.maven.shared</groupId>
|
||||||
<artifactId>maven-project-info-reports-plugin</artifactId>
|
<artifactId>maven-dependency-tree</artifactId>
|
||||||
<version>2.1-SNAPSHOT</version>
|
<version>1.0-SNAPSHOT</version>
|
||||||
<exclusions>
|
|
||||||
<exclusion>
|
|
||||||
<groupId>plexus</groupId>
|
|
||||||
<artifactId>plexus-utils</artifactId>
|
|
||||||
</exclusion>
|
|
||||||
</exclusions>
|
|
||||||
</dependency>
|
</dependency>
|
||||||
<!-- Plexus Security Dependencies -->
|
<!-- Plexus Security Dependencies -->
|
||||||
<dependency>
|
<dependency>
|
||||||
|
|
|
@ -42,8 +42,10 @@ import org.apache.maven.project.MavenProject;
|
||||||
import org.apache.maven.project.MavenProjectBuilder;
|
import org.apache.maven.project.MavenProjectBuilder;
|
||||||
import org.apache.maven.project.ProjectBuildingException;
|
import org.apache.maven.project.ProjectBuildingException;
|
||||||
import org.apache.maven.project.artifact.InvalidDependencyVersionException;
|
import org.apache.maven.project.artifact.InvalidDependencyVersionException;
|
||||||
import org.apache.maven.report.projectinfo.dependencies.Dependencies;
|
import org.apache.maven.shared.dependency.tree.DependencyNode;
|
||||||
import org.apache.maven.report.projectinfo.dependencies.ReportResolutionListener;
|
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.StringUtils;
|
||||||
import org.codehaus.plexus.util.xml.pull.XmlPullParserException;
|
import org.codehaus.plexus.util.xml.pull.XmlPullParserException;
|
||||||
import org.codehaus.plexus.xwork.action.PlexusActionSupport;
|
import org.codehaus.plexus.xwork.action.PlexusActionSupport;
|
||||||
|
@ -55,9 +57,7 @@ import java.util.Collection;
|
||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
import java.util.HashSet;
|
import java.util.HashSet;
|
||||||
import java.util.Iterator;
|
import java.util.Iterator;
|
||||||
import java.util.LinkedList;
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -103,6 +103,11 @@ public class ShowArtifactAction
|
||||||
*/
|
*/
|
||||||
private ArtifactCollector collector;
|
private ArtifactCollector collector;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @plexus.requirement
|
||||||
|
*/
|
||||||
|
private DependencyTreeBuilder dependencyTreeBuilder;
|
||||||
|
|
||||||
private String groupId;
|
private String groupId;
|
||||||
|
|
||||||
private String artifactId;
|
private String artifactId;
|
||||||
|
@ -192,42 +197,43 @@ public class ShowArtifactAction
|
||||||
|
|
||||||
getLogger().debug( " processing : " + groupId + ":" + artifactId + ":" + version );
|
getLogger().debug( " processing : " + groupId + ":" + artifactId + ":" + version );
|
||||||
|
|
||||||
Dependencies dependencies =
|
DependencyTree dependencies =
|
||||||
collectDependencies( project, artifact, localRepository, repositories );
|
collectDependencies( project, artifact, localRepository, repositories );
|
||||||
|
|
||||||
dependencyTree = new LinkedList();
|
this.dependencyTree = new ArrayList();
|
||||||
populateFlatTreeList( dependencies.getResolvedRoot(), dependencyTree );
|
|
||||||
|
populateFlatTreeList( dependencies.getRootNode(), dependencyTree );
|
||||||
|
|
||||||
return SUCCESS;
|
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(); )
|
for ( Iterator iterator = currentNode.getChildren().iterator(); iterator.hasNext(); )
|
||||||
{
|
{
|
||||||
childNode = (ReportResolutionListener.Node) iterator.next();
|
childNode = (DependencyNode) iterator.next();
|
||||||
dependencyList.add( childNode );
|
dependencyList.add( childNode );
|
||||||
populateFlatTreeList( childNode, dependencyList );
|
populateFlatTreeList( childNode, dependencyList );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private Dependencies collectDependencies( MavenProject project, Artifact artifact,
|
private DependencyTree collectDependencies( MavenProject project, Artifact artifact,
|
||||||
ArtifactRepository localRepository, List repositories )
|
ArtifactRepository localRepository, List repositories )
|
||||||
throws ArtifactResolutionException, ProjectBuildingException, InvalidDependencyVersionException,
|
throws ArtifactResolutionException, ProjectBuildingException, InvalidDependencyVersionException,
|
||||||
ConfigurationStoreException
|
ConfigurationStoreException
|
||||||
{
|
{
|
||||||
Map managedDependencyMap = Dependencies.getManagedVersionMap( project, artifactFactory );
|
try
|
||||||
|
{
|
||||||
ReportResolutionListener listener = new ReportResolutionListener();
|
return dependencyTreeBuilder.buildDependencyTree( project, localRepository, artifactFactory,
|
||||||
|
artifactMetadataSource, collector );
|
||||||
project.setDependencyArtifacts( project.createArtifacts( artifactFactory, null, null ) );
|
}
|
||||||
|
catch ( DependencyTreeBuilderException e )
|
||||||
collector.collect( project.getDependencyArtifacts(), artifact, managedDependencyMap, localRepository,
|
{
|
||||||
repositories, artifactMetadataSource, null, Collections.singletonList( listener ) );
|
getLogger().error( "Unable to build dependency tree.", e );
|
||||||
|
return null;
|
||||||
return new Dependencies( project, listener, null );
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private static String createId( String groupId, String artifactId, String version )
|
private static String createId( String groupId, String artifactId, String version )
|
||||||
|
@ -293,11 +299,6 @@ public class ShowArtifactAction
|
||||||
return dependencies;
|
return dependencies;
|
||||||
}
|
}
|
||||||
|
|
||||||
public List getDependencyTree()
|
|
||||||
{
|
|
||||||
return dependencyTree;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getGroupId()
|
public String getGroupId()
|
||||||
{
|
{
|
||||||
return groupId;
|
return groupId;
|
||||||
|
@ -318,6 +319,11 @@ public class ShowArtifactAction
|
||||||
this.artifactId = artifactId;
|
this.artifactId = artifactId;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public List getDependencyTree()
|
||||||
|
{
|
||||||
|
return dependencyTree;
|
||||||
|
}
|
||||||
|
|
||||||
public String getVersion()
|
public String getVersion()
|
||||||
{
|
{
|
||||||
return version;
|
return version;
|
||||||
|
@ -466,4 +472,5 @@ public class ShowArtifactAction
|
||||||
return version;
|
return version;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -18,7 +18,7 @@
|
||||||
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
|
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
|
||||||
<%@ taglib prefix="my" tagdir="/WEB-INF/tags" %>
|
<%@ taglib prefix="my" tagdir="/WEB-INF/tags" %>
|
||||||
|
|
||||||
<ul>
|
<ul class="dependencyTree">
|
||||||
<c:set var="prevDepth" value="1"/>
|
<c:set var="prevDepth" value="1"/>
|
||||||
<ww:set name="dependencyTree" value="dependencyTree"/>
|
<ww:set name="dependencyTree" value="dependencyTree"/>
|
||||||
<c:forEach items="${dependencyTree}" var="node">
|
<c:forEach items="${dependencyTree}" var="node">
|
||||||
|
|
|
@ -116,3 +116,11 @@
|
||||||
|
|
||||||
.artifact-title {
|
.artifact-title {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
ul.dependencyTree {
|
||||||
|
margin-left: 50px;
|
||||||
|
}
|
||||||
|
|
||||||
|
ul.dependencyTree span.artifact-link {
|
||||||
|
padding-left: 0px;
|
||||||
|
}
|
||||||
|
|
Loading…
Reference in New Issue