Author: vsiveton
Date: Wed Oct 27 12:33:20 2010
New Revision: 1027937

URL: http://svn.apache.org/viewvc?rev=1027937&view=rev
Log:
MPIR-205: Add the license information for each dependency
Submitted by: Matthew Smith
Reviewed by: Vincent Siveton

o apply Matthew's patch with some modifications (i18n)

Modified:
    
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/main/resources/project-info-report.properties
    
maven/plugins/trunk/maven-project-info-reports-plugin/src/main/resources/project-info-report_fr.properties
    
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/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=1027937&r1=1027936&r2=1027937&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
 Wed Oct 27 12:33:20 2010
@@ -406,24 +406,25 @@ public class DependenciesRenderer
         String version = getI18nString( "column.version" );
         String classifier = getI18nString( "column.classifier" );
         String type = getI18nString( "column.type" );
+        String license = getI18nString( "column.license" );
         String optional = getI18nString( "column.optional" );
 
         if ( withClassifier )
         {
             if ( withOptional )
             {
-                return new String[] { groupId, artifactId, version, 
classifier, type, optional };
+                return new String[] { groupId, artifactId, version, 
classifier, type, license, optional };
             }
 
-            return new String[] { groupId, artifactId, version, classifier, 
type };
+            return new String[] { groupId, artifactId, version, classifier, 
type, license };
         }
 
         if ( withOptional )
         {
-            return new String[] { groupId, artifactId, version, type, optional 
};
+            return new String[] { groupId, artifactId, version, type, license, 
optional };
         }
 
-        return new String[] { groupId, artifactId, version, type };
+        return new String[] { groupId, artifactId, version, type, license };
     }
 
     private void renderSectionProjectDependencies()
@@ -826,18 +827,36 @@ public class DependenciesRenderer
                                                    localRepository );
         String artifactIdCell = ProjectInfoReportUtils.getArtifactIdCell( 
artifact.getArtifactId(), url );
 
+        MavenProject artifactProject;
+        StringBuffer sb = new StringBuffer();
+        try
+        {
+            artifactProject = repoUtils.getMavenProjectFromRepository( 
artifact );
+            List licenses = artifactProject.getLicenses();
+            for ( Iterator iterator = licenses.iterator(); iterator.hasNext(); 
)
+            {
+                License license = (License) iterator.next();
+                String artifactIdCell2 = 
ProjectInfoReportUtils.getArtifactIdCell( license.getName(), license.getUrl() );
+                sb.append( artifactIdCell2 );
+            }
+        }
+        catch ( ProjectBuildingException e )
+        {
+            log.error( e.getMessage(), e );
+        }
+
         String content[];
         if ( withClassifier )
         {
             content =
                 new String[] { artifact.getGroupId(), artifactIdCell, 
artifact.getVersion(), artifact.getClassifier(),
-                    artifact.getType(), isOptional };
+                    artifact.getType(), sb.toString(), isOptional };
         }
         else
         {
             content =
                 new String[] { artifact.getGroupId(), artifactIdCell, 
artifact.getVersion(), artifact.getType(),
-                    isOptional };
+                    sb.toString(), isOptional };
         }
 
         tableRow( withOptional, content );

Modified: 
maven/plugins/trunk/maven-project-info-reports-plugin/src/main/resources/project-info-report.properties
URL: 
http://svn.apache.org/viewvc/maven/plugins/trunk/maven-project-info-reports-plugin/src/main/resources/project-info-report.properties?rev=1027937&r1=1027936&r2=1027937&view=diff
==============================================================================
--- 
maven/plugins/trunk/maven-project-info-reports-plugin/src/main/resources/project-info-report.properties
 (original)
+++ 
maven/plugins/trunk/maven-project-info-reports-plugin/src/main/resources/project-info-report.properties
 Wed Oct 27 12:33:20 2010
@@ -40,6 +40,7 @@ report.dependencies.column.artifactId   
 report.dependencies.column.classifier                              = Classifier
 report.dependencies.column.description                             = 
Description
 report.dependencies.column.groupId                                 = GroupId
+report.dependencies.column.license                                 = License
 report.dependencies.column.optional                                = Optional
 report.dependencies.column.isOptional                              = Yes
 report.dependencies.column.isNotOptional                           = No

Modified: 
maven/plugins/trunk/maven-project-info-reports-plugin/src/main/resources/project-info-report_fr.properties
URL: 
http://svn.apache.org/viewvc/maven/plugins/trunk/maven-project-info-reports-plugin/src/main/resources/project-info-report_fr.properties?rev=1027937&r1=1027936&r2=1027937&view=diff
==============================================================================
--- 
maven/plugins/trunk/maven-project-info-reports-plugin/src/main/resources/project-info-report_fr.properties
 (original)
+++ 
maven/plugins/trunk/maven-project-info-reports-plugin/src/main/resources/project-info-report_fr.properties
 Wed Oct 27 12:33:20 2010
@@ -40,6 +40,7 @@ report.dependencies.column.artifactId   
 report.dependencies.column.classifier                              = 
Classifieur
 report.dependencies.column.description                             = 
Description
 report.dependencies.column.groupId                                 = GroupId
+report.dependencies.column.license                                 = Licence
 report.dependencies.column.optional                                = Facultatif
 report.dependencies.column.isOptional                              = Oui
 report.dependencies.column.isNotOptional                           = Non

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=1027937&r1=1027936&r2=1027937&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
 Wed Oct 27 12:33:20 2010
@@ -71,7 +71,7 @@ public class DependenciesReportTest
         WebTable[] webTables = response.getTables();
         assertEquals( webTables.length, 1 );
 
-        assertEquals( webTables[0].getColumnCount(), 4 );
+        assertEquals( webTables[0].getColumnCount(), 5 );
         assertEquals( webTables[0].getRowCount(), 1 + 
getTestMavenProject().getDependencies().size() );
 
         // Test the texts


Reply via email to