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/07 13:25:06 UTC
svn commit: r674456 - in
/maven/plugins/trunk/maven-project-info-reports-plugin/src:
main/java/org/apache/maven/report/projectinfo/dependencies/
main/java/org/apache/maven/report/projectinfo/dependencies/renderer/
test/java/org/apache/maven/report/proj...
Author: vsiveton
Date: Mon Jul 7 04:25:06 2008
New Revision: 674456
URL: http://svn.apache.org/viewvc?rev=674456&view=rev
Log:
MPIR-106: Regression in 2.1-SNAPSHOT, the Project Dependencies and the Project Transitive Dependencies are the same
o Updated code due to MPIR-76
o Updated test code
Modified:
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
maven/plugins/trunk/maven-project-info-reports-plugin/src/test/java/org/apache/maven/report/projectinfo/DependenciesReportTest.java
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=674456&r1=674455&r2=674456&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 04:25:06 2008
@@ -85,38 +85,129 @@
return ( projectDependencies != null ) && ( !this.projectDependencies.isEmpty() );
}
+ /**
+ * @return a list of <code>Artifact</code> from the project.
+ */
public List getProjectDependencies()
{
return new ArrayList( projectDependencies );
}
+ /**
+ * @return a list of transitive <code>Artifact</code> from the project.
+ */
public List getTransitiveDependencies()
{
- List deps = new ArrayList( dependencyTree.getArtifacts() );
+ List deps = new ArrayList( getAllDependencies() );
deps.removeAll( projectDependencies );
return deps;
}
+ /**
+ * @return a list of included <code>Artifact</code> returned by the dependency tree.
+ */
public List getAllDependencies()
{
- return dependencyTree.getArtifacts();
+ List artifacts = new ArrayList();
+ for ( Iterator i = dependencyTree.getNodes().iterator(); i.hasNext(); )
+ {
+ DependencyNode dependencyNode = (DependencyNode) i.next();
+
+ 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() ) )
+ {
+ continue;
+ }
+
+ artifacts.add( dependencyNode.getArtifact() );
+ }
+
+ return artifacts;
}
- public Map getDependenciesByScope()
+ /**
+ * @param isTransitively <code>true</code> to return transitive dependencies, <code>false</code> otherwise.
+ * @return a map with supported scopes as key and <code>Artifact</code> as values.
+ * @see Artifact#SCOPE_COMPILE
+ * @see Artifact#SCOPE_PROVIDED
+ * @see Artifact#SCOPE_RUNTIME
+ * @see Artifact#SCOPE_SYSTEM
+ * @see Artifact#SCOPE_TEST
+ */
+ public Map getDependenciesByScope( boolean isTransitively )
{
Map dependenciesByScope = new HashMap();
- for ( Iterator i = getAllDependencies().iterator(); i.hasNext(); )
+
+ if ( isTransitively )
{
- Artifact artifact = (Artifact) i.next();
+ for ( Iterator i = dependencyTree.getNodes().iterator(); i.hasNext(); )
+ {
+ DependencyNode dependencyNode = (DependencyNode) i.next();
- List multiValue = (List) dependenciesByScope.get( artifact.getScope() );
- if ( multiValue == null )
+ if ( dependencyNode.getArtifact().getScope() == null )
+ {
+ continue;
+ }
+
+ if (dependencyNode.getState() != DependencyNode.INCLUDED )
+ {
+ continue;
+ }
+
+ if ( getProjectDependencies().contains( dependencyNode ) )
+ {
+ continue;
+ }
+
+ List multiValue = (List) dependenciesByScope.get( dependencyNode.getArtifact().getScope() );
+ if ( multiValue == null )
+ {
+ multiValue = new ArrayList();
+ }
+
+ if ( !multiValue.contains( dependencyNode.getArtifact() ) )
+ {
+ multiValue.add( dependencyNode.getArtifact() );
+ }
+ dependenciesByScope.put( dependencyNode.getArtifact().getScope(), multiValue );
+ }
+ }
+ else
+ {
+ for ( Iterator i = getProjectDependencies().iterator(); i.hasNext(); )
{
- multiValue = new ArrayList();
+ DependencyNode dependencyNode = (DependencyNode) i.next();
+
+ if ( dependencyNode.getArtifact().getScope() == null )
+ {
+ continue;
+ }
+
+ if (dependencyNode.getState() != DependencyNode.INCLUDED )
+ {
+ continue;
+ }
+
+ List multiValue = (List) dependenciesByScope.get( dependencyNode.getArtifact().getScope() );
+ if ( multiValue == null )
+ {
+ multiValue = new ArrayList();
+ }
+
+ if ( !multiValue.contains( dependencyNode.getArtifact() ) )
+ {
+ multiValue.add( dependencyNode.getArtifact() );
+ }
+ dependenciesByScope.put( dependencyNode.getArtifact().getScope(), multiValue );
}
- multiValue.add( artifact );
- dependenciesByScope.put( artifact.getScope(), multiValue );
}
+
return dependenciesByScope;
}
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=674456&r1=674455&r2=674456&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 04:25:06 2008
@@ -220,7 +220,7 @@
startSection( getTitle() );
// collect dependencies by scope
- Map dependenciesByScope = dependencies.getDependenciesByScope();
+ Map dependenciesByScope = dependencies.getDependenciesByScope( false );
renderDependenciesForAllScopes( tableHeader, dependenciesByScope );
@@ -243,18 +243,17 @@
private void renderSectionProjectTransitiveDependencies()
{
- List artifacts = dependencies.getTransitiveDependencies();
+ Map dependenciesByScope = dependencies.getDependenciesByScope( true );
startSection( getReportString( "report.transitivedependencies.title" ) );
- if ( artifacts.isEmpty() )
+ if ( dependenciesByScope.values().isEmpty() )
{
paragraph( getReportString( "report.transitivedependencies.nolist" ) );
}
else
{
String[] tableHeader = getDependencyTableHeader();
- Map dependenciesByScope = dependencies.getDependenciesByScope();
paragraph( getReportString( "report.transitivedependencies.intro" ) );
Modified: maven/plugins/trunk/maven-project-info-reports-plugin/src/test/java/org/apache/maven/report/projectinfo/DependenciesReportTest.java
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-project-info-reports-plugin/src/test/java/org/apache/maven/report/projectinfo/DependenciesReportTest.java?rev=674456&r1=674455&r2=674456&view=diff
==============================================================================
--- maven/plugins/trunk/maven-project-info-reports-plugin/src/test/java/org/apache/maven/report/projectinfo/DependenciesReportTest.java (original)
+++ maven/plugins/trunk/maven-project-info-reports-plugin/src/test/java/org/apache/maven/report/projectinfo/DependenciesReportTest.java Mon Jul 7 04:25:06 2008
@@ -69,24 +69,21 @@
// Test the tables
WebTable[] webTables = response.getTables();
- assertEquals( webTables.length, 2 );
+ assertEquals( webTables.length, 1 );
assertEquals( webTables[0].getColumnCount(), 6 );
assertEquals( webTables[0].getRowCount(), 1 + getTestMavenProject().getDependencies().size() );
- assertEquals( webTables[1].getColumnCount(), 6 );
-
// Test the texts
TextBlock[] textBlocks = response.getTextBlocks();
assertEquals( textBlocks[0].getText(), getString( "report.dependencies.title" ) );
assertEquals( textBlocks[1].getText(), "test" );
assertEquals( textBlocks[2].getText(), getString( "report.dependencies.intro.test" ) );
assertEquals( textBlocks[3].getText(), getString( "report.transitivedependencies.title" ) );
- assertEquals( textBlocks[4].getText(), getString( "report.transitivedependencies.intro" ) );
- assertEquals( textBlocks[5].getText(), "test" );
- assertEquals( textBlocks[6].getText(), getString( "report.dependencies.intro.test" ) );
- assertEquals( textBlocks[7].getText(), getString( "report.dependencies.graph.title" ) );
- assertEquals( textBlocks[8].getText(), getString( "report.dependencies.graph.tree.title" ) );
- assertEquals( textBlocks[12].getText(), getString( "report.dependencies.graph.tables.title" ) );
+ assertEquals( textBlocks[4].getText(), getString( "report.transitivedependencies.nolist" ) );
+ assertEquals( textBlocks[5].getText(), getString( "report.dependencies.graph.title" ) );
+ assertEquals( textBlocks[6].getText(), getString( "report.dependencies.graph.tree.title" ) );
+ assertEquals( textBlocks[7].getText(), "junit:junit:jar" );
+ assertEquals( textBlocks[10].getText(), getString( "report.dependencies.graph.tables.title" ) );
}
}