diff options
author | Joakim Erdfelt <joakime@apache.org> | 2006-11-20 21:37:06 +0000 |
---|---|---|
committer | Joakim Erdfelt <joakime@apache.org> | 2006-11-20 21:37:06 +0000 |
commit | 3852fea4d9e657cbcceb61654883d717fdacdeeb (patch) | |
tree | 1bc56c155d2aacc17c2f3d1a79987ba65169155a | |
parent | 62eea2b13d024fb2c5ec00337f2082e301844a22 (diff) | |
download | archiva-3852fea4d9e657cbcceb61654883d717fdacdeeb.tar.gz archiva-3852fea4d9e657cbcceb61654883d717fdacdeeb.zip |
* 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
4 files changed, 47 insertions, 38 deletions
diff --git a/archiva-webapp/pom.xml b/archiva-webapp/pom.xml index a85351ef0..b9c2acd68 100644 --- a/archiva-webapp/pom.xml +++ b/archiva-webapp/pom.xml @@ -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> diff --git a/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/ShowArtifactAction.java b/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/ShowArtifactAction.java index 208d92597..2913056ec 100644 --- a/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/ShowArtifactAction.java +++ b/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/ShowArtifactAction.java @@ -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; } } + } diff --git a/archiva-webapp/src/main/webapp/WEB-INF/jsp/include/dependencyTree.jspf b/archiva-webapp/src/main/webapp/WEB-INF/jsp/include/dependencyTree.jspf index 55a9ecc51..4939a79e3 100644 --- a/archiva-webapp/src/main/webapp/WEB-INF/jsp/include/dependencyTree.jspf +++ b/archiva-webapp/src/main/webapp/WEB-INF/jsp/include/dependencyTree.jspf @@ -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"> diff --git a/archiva-webapp/src/main/webapp/css/site.css b/archiva-webapp/src/main/webapp/css/site.css index 5c832dbdf..33e82371a 100644 --- a/archiva-webapp/src/main/webapp/css/site.css +++ b/archiva-webapp/src/main/webapp/css/site.css @@ -116,3 +116,11 @@ .artifact-title { } + +ul.dependencyTree { + margin-left: 50px; +} + +ul.dependencyTree span.artifact-link { + padding-left: 0px; +} |