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() );