You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by hb...@apache.org on 2011/07/28 00:32:17 UTC

svn commit: r1151656 - in /maven/plugins/branches/maven-site-plugin-2.x: ./ pom.xml src/ src/it/full-reporting/pom.xml src/it/full-reporting/verify.groovy src/it/inheritedReports/ src/main/java/org/apache/maven/plugins/site/AbstractSiteRenderingMojo.java

Author: hboutemy
Date: Wed Jul 27 22:32:16 2011
New Revision: 1151656

URL: http://svn.apache.org/viewvc?rev=1151656&view=rev
Log:
[MSITE-402] ensure order of reports like defined in POM (works with Maven 3 but not with Maven 2.2 for the moment) (merged from trunk r1150948)

Modified:
    maven/plugins/branches/maven-site-plugin-2.x/   (props changed)
    maven/plugins/branches/maven-site-plugin-2.x/pom.xml   (props changed)
    maven/plugins/branches/maven-site-plugin-2.x/src/   (props changed)
    maven/plugins/branches/maven-site-plugin-2.x/src/it/full-reporting/pom.xml
    maven/plugins/branches/maven-site-plugin-2.x/src/it/full-reporting/verify.groovy
    maven/plugins/branches/maven-site-plugin-2.x/src/it/inheritedReports/   (props changed)
    maven/plugins/branches/maven-site-plugin-2.x/src/main/java/org/apache/maven/plugins/site/AbstractSiteRenderingMojo.java

Propchange: maven/plugins/branches/maven-site-plugin-2.x/
------------------------------------------------------------------------------
    svn:mergeinfo = /maven/plugins/trunk/maven-site-plugin:1150948

Propchange: maven/plugins/branches/maven-site-plugin-2.x/pom.xml
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Wed Jul 27 22:32:16 2011
@@ -1 +1,2 @@
 /maven/plugins/branches/maven-site-plugin-3.x/pom.xml:940318,942876,956257,956299,984961,992626,1003823
+/maven/plugins/trunk/maven-site-plugin/pom.xml:1150948

Propchange: maven/plugins/branches/maven-site-plugin-2.x/src/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Wed Jul 27 22:32:16 2011
@@ -1 +1,2 @@
 /maven/plugins/branches/maven-site-plugin-3.x/src:940318,942876,956257,956299,984961,992626,1003823
+/maven/plugins/trunk/maven-site-plugin/src:1150948

Modified: maven/plugins/branches/maven-site-plugin-2.x/src/it/full-reporting/pom.xml
URL: http://svn.apache.org/viewvc/maven/plugins/branches/maven-site-plugin-2.x/src/it/full-reporting/pom.xml?rev=1151656&r1=1151655&r2=1151656&view=diff
==============================================================================
--- maven/plugins/branches/maven-site-plugin-2.x/src/it/full-reporting/pom.xml (original)
+++ maven/plugins/branches/maven-site-plugin-2.x/src/it/full-reporting/pom.xml Wed Jul 27 22:32:16 2011
@@ -65,6 +65,23 @@
           <dependencyDetailsEnabled>false</dependencyDetailsEnabled>
           <dependencyLocationsEnabled>false</dependencyLocationsEnabled>
         </configuration>
+        <reportSets>
+          <reportSet>
+            <reports>
+              <report>index</report>
+              <report>summary</report>
+              <report>license</report>
+              <report>project-team</report>
+              <report>scm</report>
+              <report>issue-tracking</report>
+              <report>mailing-list</report>
+              <report>dependencies</report>
+              <report>cim</report>
+              <report>plugin-management</report>
+              <report>plugins</report>
+            </reports>
+          </reportSet>
+        </reportSets>
       </plugin>
       <plugin>
         <groupId>org.apache.maven.plugins</groupId>

Modified: maven/plugins/branches/maven-site-plugin-2.x/src/it/full-reporting/verify.groovy
URL: http://svn.apache.org/viewvc/maven/plugins/branches/maven-site-plugin-2.x/src/it/full-reporting/verify.groovy?rev=1151656&r1=1151655&r2=1151656&view=diff
==============================================================================
--- maven/plugins/branches/maven-site-plugin-2.x/src/it/full-reporting/verify.groovy (original)
+++ maven/plugins/branches/maven-site-plugin-2.x/src/it/full-reporting/verify.groovy Wed Jul 27 22:32:16 2011
@@ -25,21 +25,71 @@ assert content.contains( 'Test set: org.
 
 assert content.contains( 'Tests run: 1, Failures: 0, Errors: 0, Skipped: 0' );
 
-assert new File( basedir, 'target/site/surefire-report.html' ).exists();
-assert new File( basedir, 'target/site/index.html' ).exists();
-assert new File( basedir, 'target/site/checkstyle.html' ).exists();
-assert new File( basedir, 'target/site/cpd.html' ).exists();
-assert new File( basedir, 'target/site/apidocs/index.html' ).exists();
-assert new File( basedir, 'target/site/apidocs/org/apache/maven/plugins/site/its/App.html' ).exists();
-assert new File( basedir, 'target/site/cobertura/index.html' ).exists();
-assert new File( basedir, 'target/site/xref/index.html' ).exists();
-assert new File( basedir, 'target/site/xref-test/index.html' ).exists();
+sitedir = new File( basedir, 'target/site' );
 
-assert new File( basedir, 'target/site/taglist.html' ).exists();
-assert new File( basedir, 'target/site/team-list.html' ).exists();
+assert new File( sitedir, 'surefire-report.html' ).exists();
+assert new File( sitedir, 'index.html' ).exists();
+assert new File( sitedir, 'checkstyle.html' ).exists();
+assert new File( sitedir, 'cpd.html' ).exists();
+assert new File( sitedir, 'apidocs/index.html' ).exists();
+assert new File( sitedir, 'apidocs/org/apache/maven/plugins/site/its/App.html' ).exists();
+assert new File( sitedir, 'cobertura/index.html' ).exists();
+assert new File( sitedir, 'xref/index.html' ).exists();
+assert new File( sitedir, 'xref-test/index.html' ).exists();
 
-assert new File( basedir, 'target/site/dependencies.html' ).exists();
-content = new File( basedir, 'target/site/dependencies.html' ).text;
+assert new File( sitedir, 'taglist.html' ).exists();
+assert new File( sitedir, 'team-list.html' ).exists();
+
+assert new File( sitedir, 'dependencies.html' ).exists();
+content = new File( sitedir, 'dependencies.html' ).text;
 assert content.contains( 'junit:junit:jar:3.8.2' );
 
+// check reports order
+String[] reports = [ 'index',                  // <report>index</report>
+                     'project-summary',        // <report>summary</report>
+                     'license',                // <report>license</report>
+                     'team-list',              // <report>project-team</report>
+                     'source-repository',      // <report>scm</report>
+                     'issue-tracking',         // <report>issue-tracking</report>
+                     'mail-lists',             // <report>mailing-list</report>
+                     'dependencies',           // <report>dependencies</report>
+                     'integration',            // <report>cim</report>
+                     'plugin-management',      // <report>plugin-management</report>
+                     'plugins'                 // <report>plugins</report>
+                   ];
+String info = new File( sitedir, 'project-info.html' ).text;
+int index1 = 10;
+int index2 = 10;
+String previousReportLink;
+for ( String report : reports )
+{
+    File reportFile = new File( sitedir, report + ".html" );
+    if ( !reportFile.isFile() )
+    {
+        println "Report file not existent: $reportFile";
+        return false;
+    }
+
+    String link = "<a href=\"" + reportFile.getName() + "\"";
+    int i1 = info.indexOf( link );
+    int i2 = info.indexOf( link, i1 + 1 );
+    if ( i1 < index1 )
+    {
+        println "Wrong order for first report link: expected $previousReportLink -> $link, but found $i1 < $index1";
+        println "   previous report link: " + info.substring( index1 - 10, index1 + 70 );
+        println "     actual report link: " + info.substring( i1 - 10, i1 + 70 );
+        //return false; // does not work with Maven 2.2 for the moment
+    }
+    if ( i2 < index2 )
+    {
+        println "Wrong order for second report link: expected $previousReportLink -> $link, but found $i2 < $index2";
+        println "   previous report link: " + info.substring( index2 - 10, index2 + 70 );
+        println "     actual report link: " + info.substring( i2 - 10, i2 + 70 );
+        //return false; // does not work with Maven 2.2 for the moment
+    }
+    index1 = i1;
+    index2 = i2;
+    previousReportLink = link;
+}
+
 return true;
\ No newline at end of file

Propchange: maven/plugins/branches/maven-site-plugin-2.x/src/it/inheritedReports/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Wed Jul 27 22:32:16 2011
@@ -1 +1 @@
-/maven/plugins/trunk/maven-site-plugin/src/it/inheritedReports:801155,801171,801470,806898-806906,807943-808180,809252,810298,884137,886844,886847,890094,890124,891014,891688,920027,920041,942622,943455,944145,950463,956681,984466,984960,984991,984996,1029307,1033379,1037476,1039137,1039143,1039748-1039749,1049020,1051139-1051449,1055019,1055033,1055047,1055089,1060289,1063639,1064626,1065576,1065582,1066038,1067103,1067120,1070079-1070080,1070100,1070104,1074118,1075018,1075782,1075810,1075995,1076167,1076195,1077911,1077924,1078235,1079474,1079529,1079698,1080781,1081676,1081837,1081887,1082091,1082242,1082274,1082877,1083147,1083251,1083473,1084564,1086313,1086338-1086339,1086533,1087455,1088584,1089802,1089852,1091331,1098168,1098170,1099591,1126420,1126918-1126945,1132936,1145546,1145555,1145947,1147048
+/maven/plugins/trunk/maven-site-plugin/src/it/inheritedReports:801155,801171,801470,806898-806906,807943-808180,809252,810298,884137,886844,886847,890094,890124,891014,891688,920027,920041,942622,943455,944145,950463,956681,984466,984960,984991,984996,1029307,1033379,1037476,1039137,1039143,1039748-1039749,1049020,1051139-1051449,1055019,1055033,1055047,1055089,1060289,1063639,1064626,1065576,1065582,1066038,1067103,1067120,1070079-1070080,1070100,1070104,1074118,1075018,1075782,1075810,1075995,1076167,1076195,1077911,1077924,1078235,1079474,1079529,1079698,1080781,1081676,1081837,1081887,1082091,1082242,1082274,1082877,1083147,1083251,1083473,1084564,1086313,1086338-1086339,1086533,1087455,1088584,1089802,1089852,1091331,1098168,1098170,1099591,1126420,1126918-1126945,1132936,1145546,1145555,1145947,1147048,1150948

Modified: maven/plugins/branches/maven-site-plugin-2.x/src/main/java/org/apache/maven/plugins/site/AbstractSiteRenderingMojo.java
URL: http://svn.apache.org/viewvc/maven/plugins/branches/maven-site-plugin-2.x/src/main/java/org/apache/maven/plugins/site/AbstractSiteRenderingMojo.java?rev=1151656&r1=1151655&r2=1151656&view=diff
==============================================================================
--- maven/plugins/branches/maven-site-plugin-2.x/src/main/java/org/apache/maven/plugins/site/AbstractSiteRenderingMojo.java (original)
+++ maven/plugins/branches/maven-site-plugin-2.x/src/main/java/org/apache/maven/plugins/site/AbstractSiteRenderingMojo.java Wed Jul 27 22:32:16 2011
@@ -26,6 +26,7 @@ import java.util.ArrayList;
 import java.util.Collection;
 import java.util.HashMap;
 import java.util.Iterator;
+import java.util.LinkedHashMap;
 import java.util.List;
 import java.util.Locale;
 import java.util.Map;
@@ -327,7 +328,7 @@ public abstract class AbstractSiteRender
     protected Map<String, MavenReport> locateReports( List<MavenReport> reports,
                                                       Map<String, DocumentRenderer> documents, Locale locale )
     {
-        Map<String, MavenReport> reportsByOutputName = new HashMap<String, MavenReport>();
+        Map<String, MavenReport> reportsByOutputName = new LinkedHashMap<String, MavenReport>();
         for ( Iterator<MavenReport> i = reports.iterator(); i.hasNext(); )
         {
             MavenReport report = i.next();
@@ -364,7 +365,7 @@ public abstract class AbstractSiteRender
      */
     protected Map<String, List<MavenReport>> categoriseReports( Collection<MavenReport> reports )
     {
-        Map<String, List<MavenReport>> categories = new HashMap<String, List<MavenReport>>();
+        Map<String, List<MavenReport>> categories = new LinkedHashMap<String, List<MavenReport>>();
         for ( MavenReport report : reports )
         {
             List<MavenReport> categoryReports = categories.get( report.getCategoryName() );