You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by vs...@apache.org on 2008/07/08 00:58:07 UTC
svn commit: r674664 - in
/maven/plugins/trunk/maven-project-info-reports-plugin/src/main/java/org/apache/maven/report/projectinfo:
DependenciesReport.java dependencies/Dependencies.java
dependencies/renderer/DependenciesRenderer.java
Author: vsiveton
Date: Mon Jul 7 15:58:07 2008
New Revision: 674664
URL: http://svn.apache.org/viewvc?rev=674664&view=rev
Log:
MPIR-110: Update code due to deprecated classes in maven-dependency-tree:1.1
o removed DependencyTree dependency
Modified:
maven/plugins/trunk/maven-project-info-reports-plugin/src/main/java/org/apache/maven/report/projectinfo/DependenciesReport.java
maven/plugins/trunk/maven-project-info-reports-plugin/src/main/java/org/apache/maven/report/projectinfo/dependencies/Dependencies.java
maven/plugins/trunk/maven-project-info-reports-plugin/src/main/java/org/apache/maven/report/projectinfo/dependencies/renderer/DependenciesRenderer.java
Modified: maven/plugins/trunk/maven-project-info-reports-plugin/src/main/java/org/apache/maven/report/projectinfo/DependenciesReport.java
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-project-info-reports-plugin/src/main/java/org/apache/maven/report/projectinfo/DependenciesReport.java?rev=674664&r1=674663&r2=674664&view=diff
==============================================================================
--- maven/plugins/trunk/maven-project-info-reports-plugin/src/main/java/org/apache/maven/report/projectinfo/DependenciesReport.java (original)
+++ maven/plugins/trunk/maven-project-info-reports-plugin/src/main/java/org/apache/maven/report/projectinfo/DependenciesReport.java Mon Jul 7 15:58:07 2008
@@ -19,16 +19,19 @@
* under the License.
*/
+import org.apache.maven.artifact.Artifact;
import org.apache.maven.artifact.manager.WagonManager;
import org.apache.maven.artifact.metadata.ArtifactMetadataSource;
import org.apache.maven.artifact.resolver.ArtifactCollector;
+import org.apache.maven.artifact.resolver.filter.ArtifactFilter;
+import org.apache.maven.artifact.resolver.filter.ScopeArtifactFilter;
import org.apache.maven.project.MavenProjectBuilder;
import org.apache.maven.report.projectinfo.dependencies.Dependencies;
import org.apache.maven.report.projectinfo.dependencies.DependenciesReportConfiguration;
import org.apache.maven.report.projectinfo.dependencies.RepositoryUtils;
import org.apache.maven.report.projectinfo.dependencies.renderer.DependenciesRenderer;
import org.apache.maven.settings.Settings;
-import org.apache.maven.shared.dependency.tree.DependencyTree;
+import org.apache.maven.shared.dependency.tree.DependencyNode;
import org.apache.maven.shared.dependency.tree.DependencyTreeBuilder;
import org.apache.maven.shared.dependency.tree.DependencyTreeBuilderException;
import org.apache.maven.shared.jar.classes.JarClassesAnalysis;
@@ -151,15 +154,15 @@
project.getRemoteArtifactRepositories(),
project.getPluginArtifactRepositories(), localRepository );
- DependencyTree dependencyTree = resolveProject();
+ DependencyNode dependencyTreeNode = resolveProject();
- Dependencies dependencies = new Dependencies( project, dependencyTree, classesAnalyzer );
+ Dependencies dependencies = new Dependencies( project, dependencyTreeNode, classesAnalyzer );
DependenciesReportConfiguration config =
new DependenciesReportConfiguration( dependencyDetailsEnabled, dependencyLocationsEnabled );
DependenciesRenderer r =
- new DependenciesRenderer( getSink(), locale, i18n, dependencies, dependencyTree, config, repoUtils );
+ new DependenciesRenderer( getSink(), locale, i18n, dependencies, dependencyTreeNode, config, repoUtils );
repoUtils.setLog( getLog() );
r.setLog( getLog() );
@@ -176,12 +179,13 @@
// Private methods
// ----------------------------------------------------------------------
- private DependencyTree resolveProject()
+ private DependencyNode resolveProject()
{
try
{
- return dependencyTreeBuilder.buildDependencyTree( project, localRepository, factory, artifactMetadataSource,
- collector );
+ ArtifactFilter artifactFilter = new ScopeArtifactFilter( Artifact.SCOPE_TEST );
+ return dependencyTreeBuilder.buildDependencyTree( project, localRepository, factory,
+ artifactMetadataSource, artifactFilter, collector );
}
catch ( DependencyTreeBuilderException e )
{
Modified: maven/plugins/trunk/maven-project-info-reports-plugin/src/main/java/org/apache/maven/report/projectinfo/dependencies/Dependencies.java
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-project-info-reports-plugin/src/main/java/org/apache/maven/report/projectinfo/dependencies/Dependencies.java?rev=674664&r1=674663&r2=674664&view=diff
==============================================================================
--- maven/plugins/trunk/maven-project-info-reports-plugin/src/main/java/org/apache/maven/report/projectinfo/dependencies/Dependencies.java (original)
+++ maven/plugins/trunk/maven-project-info-reports-plugin/src/main/java/org/apache/maven/report/projectinfo/dependencies/Dependencies.java Mon Jul 7 15:58:07 2008
@@ -23,7 +23,6 @@
import org.apache.maven.artifact.ArtifactUtils;
import org.apache.maven.project.MavenProject;
import org.apache.maven.shared.dependency.tree.DependencyNode;
-import org.apache.maven.shared.dependency.tree.DependencyTree;
import org.apache.maven.shared.jar.JarAnalyzer;
import org.apache.maven.shared.jar.JarData;
import org.apache.maven.shared.jar.classes.JarClassesAnalysis;
@@ -43,17 +42,46 @@
{
private final MavenProject project;
- private final List projectDependencies;
-
- private final DependencyTree dependencyTree;
+ private final DependencyNode dependencyTreeNode;
private final JarClassesAnalysis classesAnalyzer;
- public Dependencies( MavenProject project, DependencyTree dependencyTree, JarClassesAnalysis classesAnalyzer )
+ /**
+ * @since 2.1
+ */
+ private List projectDependencies;
+
+ /**
+ * @since 2.1
+ */
+ private List projectTransitiveDependencies;
+
+ /**
+ * @since 2.1
+ */
+ private List allDependencies;
+
+ /**
+ * @since 2.1
+ */
+ private Map dependenciesByScope;
+
+ /**
+ * @since 2.1
+ */
+ private Map transitiveDependenciesByScope;
+
+ /**
+ * Default constructor
+ *
+ * @param project
+ * @param dependencyTreeNode
+ * @param classesAnalyzer
+ */
+ public Dependencies( MavenProject project, DependencyNode dependencyTreeNode, JarClassesAnalysis classesAnalyzer )
{
this.project = project;
- this.dependencyTree = dependencyTree;
- this.projectDependencies = dependencyTree.getRootNode().getChildren();
+ this.dependencyTreeNode = dependencyTreeNode;
this.classesAnalyzer = classesAnalyzer;
/*
@@ -67,7 +95,7 @@
projectMap.put( ArtifactUtils.versionlessKey( artifact ), artifact );
}
- mapArtifactFiles( dependencyTree.getRootNode(), projectMap );
+ mapArtifactFiles( dependencyTreeNode, projectMap );
}
/**
@@ -80,9 +108,12 @@
return project;
}
+ /**
+ * @return <code>true</code> if getProjectDependencies() is not empty, <code>false</code> otherwise.
+ */
public boolean hasDependencies()
{
- return ( projectDependencies != null ) && ( !this.projectDependencies.isEmpty() );
+ return ( getProjectDependencies() != null ) && ( !getProjectDependencies().isEmpty() );
}
/**
@@ -90,7 +121,20 @@
*/
public List getProjectDependencies()
{
- return new ArrayList( projectDependencies );
+ if ( projectDependencies != null )
+ {
+ return projectDependencies;
+ }
+
+ projectDependencies = new ArrayList();
+ for ( Iterator i = dependencyTreeNode.getChildren().iterator(); i.hasNext(); )
+ {
+ DependencyNode dependencyNode = (DependencyNode) i.next();
+
+ projectDependencies.add( dependencyNode.getArtifact() );
+ }
+
+ return projectDependencies;
}
/**
@@ -98,9 +142,15 @@
*/
public List getTransitiveDependencies()
{
- List deps = new ArrayList( getAllDependencies() );
- deps.removeAll( projectDependencies );
- return deps;
+ if ( projectTransitiveDependencies != null )
+ {
+ return projectTransitiveDependencies;
+ }
+
+ projectTransitiveDependencies = new ArrayList( getAllDependencies() );
+ projectTransitiveDependencies.removeAll( getProjectDependencies() );
+
+ return projectTransitiveDependencies;
}
/**
@@ -108,27 +158,36 @@
*/
public List getAllDependencies()
{
- List artifacts = new ArrayList();
- for ( Iterator i = dependencyTree.getNodes().iterator(); i.hasNext(); )
+ if ( allDependencies != null )
+ {
+ return allDependencies;
+ }
+
+ allDependencies = new ArrayList();
+ for ( Iterator i = dependencyTreeNode.getChildren().iterator(); i.hasNext(); )
{
DependencyNode dependencyNode = (DependencyNode) i.next();
- if (dependencyNode.getState() != DependencyNode.INCLUDED )
+ if ( dependencyNode.getState() != DependencyNode.INCLUDED )
{
continue;
}
- if ( dependencyNode.getArtifact().getGroupId().equals( project.getGroupId() ) &&
- dependencyNode.getArtifact().getArtifactId().equals( project.getArtifactId() ) &&
- dependencyNode.getArtifact().getVersion().equals( project.getVersion() ) )
+ if ( dependencyNode.getArtifact().getGroupId().equals( project.getGroupId() )
+ && dependencyNode.getArtifact().getArtifactId().equals( project.getArtifactId() )
+ && dependencyNode.getArtifact().getVersion().equals( project.getVersion() ) )
{
continue;
}
- artifacts.add( dependencyNode.getArtifact() );
+ if ( !allDependencies.contains( dependencyNode.getArtifact() ) )
+ {
+ allDependencies.add( dependencyNode.getArtifact() );
+ }
+ getAllDependencies( dependencyNode );
}
- return artifacts;
+ return allDependencies;
}
/**
@@ -142,70 +201,55 @@
*/
public Map getDependenciesByScope( boolean isTransitively )
{
- Map dependenciesByScope = new HashMap();
-
if ( isTransitively )
{
- for ( Iterator i = dependencyTree.getNodes().iterator(); i.hasNext(); )
+ if ( transitiveDependenciesByScope != null )
{
- DependencyNode dependencyNode = (DependencyNode) i.next();
-
- if ( dependencyNode.getArtifact().getScope() == null )
- {
- continue;
- }
-
- if (dependencyNode.getState() != DependencyNode.INCLUDED )
- {
- continue;
- }
+ return transitiveDependenciesByScope;
+ }
- if ( getProjectDependencies().contains( dependencyNode ) )
- {
- continue;
- }
+ transitiveDependenciesByScope = new HashMap();
+ for ( Iterator i = getTransitiveDependencies().iterator(); i.hasNext(); )
+ {
+ Artifact artifact = (Artifact)i.next();
- List multiValue = (List) dependenciesByScope.get( dependencyNode.getArtifact().getScope() );
+ List multiValue = (List) transitiveDependenciesByScope.get( artifact.getScope() );
if ( multiValue == null )
{
multiValue = new ArrayList();
}
- if ( !multiValue.contains( dependencyNode.getArtifact() ) )
+ if ( !multiValue.contains( artifact) )
{
- multiValue.add( dependencyNode.getArtifact() );
+ multiValue.add( artifact );
}
- dependenciesByScope.put( dependencyNode.getArtifact().getScope(), multiValue );
+ transitiveDependenciesByScope.put( artifact.getScope(), multiValue );
}
+
+ return transitiveDependenciesByScope;
}
- else
- {
- for ( Iterator i = getProjectDependencies().iterator(); i.hasNext(); )
- {
- DependencyNode dependencyNode = (DependencyNode) i.next();
- if ( dependencyNode.getArtifact().getScope() == null )
- {
- continue;
- }
+ if ( dependenciesByScope != null )
+ {
+ return dependenciesByScope;
+ }
- if (dependencyNode.getState() != DependencyNode.INCLUDED )
- {
- continue;
- }
+ dependenciesByScope = new HashMap();
+ for ( Iterator i = getProjectDependencies().iterator(); i.hasNext(); )
+ {
+ Artifact artifact = (Artifact)i.next();
- List multiValue = (List) dependenciesByScope.get( dependencyNode.getArtifact().getScope() );
- if ( multiValue == null )
- {
- multiValue = new ArrayList();
- }
+ List multiValue = (List) dependenciesByScope.get( artifact.getScope() );
+ if ( multiValue == null )
+ {
+ multiValue = new ArrayList();
+ }
- if ( !multiValue.contains( dependencyNode.getArtifact() ) )
- {
- multiValue.add( dependencyNode.getArtifact() );
- }
- dependenciesByScope.put( dependencyNode.getArtifact().getScope(), multiValue );
+ if ( !multiValue.contains( artifact ) )
+ {
+ multiValue.add( artifact );
}
+ dependenciesByScope.put( artifact.getScope(), multiValue );
}
return dependenciesByScope;
@@ -254,4 +298,44 @@
mapArtifactFiles( anode, projectMap );
}
}
+
+ /**
+ * Recursive method to get all dependencies from a given <code>dependencyNode</code>
+ *
+ * @param dependencyNode not null
+ */
+ private void getAllDependencies( DependencyNode dependencyNode )
+ {
+ if ( dependencyNode == null || dependencyNode.getChildren() == null )
+ {
+ if ( !allDependencies.contains( dependencyNode.getArtifact() ) )
+ {
+ allDependencies.add( dependencyNode.getArtifact() );
+ }
+ return;
+ }
+
+ for ( Iterator i = dependencyNode.getChildren().iterator(); i.hasNext(); )
+ {
+ DependencyNode subdependencyNode = (DependencyNode) i.next();
+
+ if ( subdependencyNode.getState() != DependencyNode.INCLUDED )
+ {
+ continue;
+ }
+
+ if ( subdependencyNode.getArtifact().getGroupId().equals( project.getGroupId() )
+ && subdependencyNode.getArtifact().getArtifactId().equals( project.getArtifactId() )
+ && subdependencyNode.getArtifact().getVersion().equals( project.getVersion() ) )
+ {
+ continue;
+ }
+
+ if ( !allDependencies.contains( subdependencyNode.getArtifact() ) )
+ {
+ allDependencies.add( subdependencyNode.getArtifact() );
+ }
+ getAllDependencies( subdependencyNode );
+ }
+ }
}
Modified: maven/plugins/trunk/maven-project-info-reports-plugin/src/main/java/org/apache/maven/report/projectinfo/dependencies/renderer/DependenciesRenderer.java
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-project-info-reports-plugin/src/main/java/org/apache/maven/report/projectinfo/dependencies/renderer/DependenciesRenderer.java?rev=674664&r1=674663&r2=674664&view=diff
==============================================================================
--- maven/plugins/trunk/maven-project-info-reports-plugin/src/main/java/org/apache/maven/report/projectinfo/dependencies/renderer/DependenciesRenderer.java (original)
+++ maven/plugins/trunk/maven-project-info-reports-plugin/src/main/java/org/apache/maven/report/projectinfo/dependencies/renderer/DependenciesRenderer.java Mon Jul 7 15:58:07 2008
@@ -35,7 +35,6 @@
import org.apache.maven.report.projectinfo.dependencies.RepositoryUtils;
import org.apache.maven.reporting.AbstractMavenReportRenderer;
import org.apache.maven.shared.dependency.tree.DependencyNode;
-import org.apache.maven.shared.dependency.tree.DependencyTree;
import org.apache.maven.shared.jar.JarData;
import org.apache.maven.wagon.Wagon;
import org.codehaus.plexus.i18n.I18N;
@@ -76,7 +75,7 @@
JAR_SUBTYPE.add( "ejb" );
}
- private final DependencyTree dependencyTree;
+ private final DependencyNode dependencyTreeNode;
private Dependencies dependencies;
@@ -108,14 +107,14 @@
};
public DependenciesRenderer( Sink sink, Locale locale, I18N i18n, Dependencies dependencies,
- DependencyTree depTree, DependenciesReportConfiguration config,
+ DependencyNode dependencyTreeNode, DependenciesReportConfiguration config,
RepositoryUtils repoUtils )
{
super( sink );
this.locale = locale;
- this.dependencyTree = depTree;
+ this.dependencyTreeNode = dependencyTreeNode;
this.repoUtils = repoUtils;
@@ -282,7 +281,7 @@
startSection( getReportString( "report.dependencies.graph.tree.title" ) );
sink.paragraph();
sink.list();
- printDependencyListing( dependencyTree.getRootNode() );
+ printDependencyListing( dependencyTreeNode );
sink.list_();
sink.paragraph_();
endSection();
@@ -605,7 +604,7 @@
private void renderSectionDependencyListing()
{
startSection( getReportString( "report.dependencies.graph.tables.title" ) );
- printDescriptionsAndURLs( dependencyTree.getRootNode() );
+ printDescriptionsAndURLs( dependencyTreeNode );
endSection();
}