You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@maven.apache.org by br...@apache.org on 2005/09/21 04:46:49 UTC

svn commit: r290603 - /maven/components/trunk/maven-plugins/maven-site-plugin/src/main/java/org/apache/maven/doxia/DoxiaMojo.java

Author: brett
Date: Tue Sep 20 19:46:44 2005
New Revision: 290603

URL: http://svn.apache.org/viewcvs?rev=290603&view=rev
Log:
more cleanup of site plugin

Modified:
    maven/components/trunk/maven-plugins/maven-site-plugin/src/main/java/org/apache/maven/doxia/DoxiaMojo.java

Modified: maven/components/trunk/maven-plugins/maven-site-plugin/src/main/java/org/apache/maven/doxia/DoxiaMojo.java
URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-plugins/maven-site-plugin/src/main/java/org/apache/maven/doxia/DoxiaMojo.java?rev=290603&r1=290602&r2=290603&view=diff
==============================================================================
--- maven/components/trunk/maven-plugins/maven-site-plugin/src/main/java/org/apache/maven/doxia/DoxiaMojo.java (original)
+++ maven/components/trunk/maven-plugins/maven-site-plugin/src/main/java/org/apache/maven/doxia/DoxiaMojo.java Tue Sep 20 19:46:44 2005
@@ -77,11 +77,6 @@
     private static final String DEFAULT_TEMPLATE = RESOURCE_DIR + "/maven-site.vm";
 
     /**
-     * OutputName of all reports files generated by Maven
-     */
-    private static List generatedReportsFileName = new ArrayList();
-
-    /**
      * Patterns which should be excluded by default.
      */
     // TODO Push me into a shared area (plexus-utils?)
@@ -229,8 +224,6 @@
             }
         }
 
-        List reports = getReports();
-
         if ( attributes == null )
         {
             attributes = new HashMap();
@@ -258,16 +251,10 @@
             Locale defaultLocale = (Locale) localesList.get( 0 );
             Locale.setDefault( defaultLocale );
 
-            List projectInfos = new ArrayList();
-            List projectReports = new ArrayList();
-            categorizeReports( reports, defaultLocale, projectInfos, projectReports );
-
             for ( Iterator iterator = localesList.iterator(); iterator.hasNext(); )
             {
                 Locale locale = (Locale) iterator.next();
 
-                String siteDescriptor = getSiteDescriptor( reports, locale, projectInfos, projectReports );
-
                 File outputDirectory = getOutputDirectory( locale, defaultLocale );
 
                 // Safety
@@ -276,14 +263,6 @@
                     outputDirectory.mkdirs();
                 }
 
-                // Handle the GeneratedSite Directory
-                File generatedSiteFile = new File( generatedSiteDirectory );
-                if ( generatedSiteFile.exists() )
-                {
-                    siteRenderer.render( generatedSiteFile, outputDirectory, siteDescriptor, template, attributes,
-                                         locale );
-                }
-
                 // Generate static site
                 File siteDirectoryFile = new File( siteDirectory );
                 if ( !locale.getLanguage().equals( defaultLocale.getLanguage() ) )
@@ -297,6 +276,10 @@
                 {
                     tryToFindDuplicates( siteDirectoryFile, duplicate );
                 }
+
+                // Handle the GeneratedSite Directory
+                File generatedSiteFile = new File( generatedSiteDirectory );
+
                 if ( generatedSiteFile.exists() )
                 {
                     tryToFindDuplicates( generatedSiteFile, duplicate );
@@ -309,10 +292,37 @@
                     throw new MavenReportException( msg );
                 }
 
+                List reports = getReports();
+
+                Map categories = categorizeReports( reports );
+
+                List projectInfos = (List) categories.get( MavenReport.CATEGORY_PROJECT_INFORMATION );
+                List projectReports = (List) categories.get( MavenReport.CATEGORY_PROJECT_REPORTS );
+
+                if ( projectInfos == null )
+                {
+                    projectInfos = Collections.EMPTY_LIST;
+                }
+
+                if ( projectReports == null )
+                {
+                    projectReports = Collections.EMPTY_LIST;
+                }
+
+                String siteDescriptor = getSiteDescriptor( reports, locale, projectInfos, projectReports );
+
+                if ( generatedSiteFile.exists() )
+                {
+                    siteRenderer.render( generatedSiteFile, outputDirectory, siteDescriptor, template, attributes,
+                                         locale );
+                }
+
                 //Generate reports
+                List generatedReportsFileName = Collections.EMPTY_LIST;
                 if ( reports != null )
                 {
-                    generateReportsPages( reports, locale, outputDirectory, defaultLocale, siteDescriptor );
+                    generatedReportsFileName = generateReportsPages( reports, locale, outputDirectory, defaultLocale,
+                                                                     siteDescriptor );
                 }
 
                 //Generate overview pages
@@ -418,26 +428,23 @@
         }
     }
 
-    private void categorizeReports( List reports, Locale defaultLocale, List projectInfos, List projectReports )
-        throws MojoExecutionException
+    private Map categorizeReports( List reports )
     {
+        Map categories = new HashMap();
+
         for ( Iterator i = reports.iterator(); i.hasNext(); )
         {
             MavenReport report = (MavenReport) i.next();
-            if ( MavenReport.CATEGORY_PROJECT_INFORMATION.equals( report.getCategoryName() ) )
-            {
-                projectInfos.add( report );
-            }
-            else if ( MavenReport.CATEGORY_PROJECT_REPORTS.equals( report.getCategoryName() ) )
-            {
-                projectReports.add( report );
-            }
-            else
+
+            List category = (List) categories.get( report.getCategoryName() );
+            if ( category == null )
             {
-                throw new MojoExecutionException( "'" + report.getCategoryName() + "' category define for " +
-                    report.getName( defaultLocale ) + " mojo isn't valid." );
+                category = new ArrayList();
+                categories.put( report.getCategoryName(), category );
             }
+            category.add( report );
         }
+        return categories;
     }
 
     /**
@@ -741,10 +748,12 @@
      * @param locale
      * @param localeOutputDirectory
      */
-    private void generateReportsPages( List reports, Locale locale, File localeOutputDirectory, Locale defaultLocale,
+    private List generateReportsPages( List reports, Locale locale, File localeOutputDirectory, Locale defaultLocale,
                                        String siteDescriptor )
         throws RendererException, IOException, MavenReportException
     {
+        List generatedReportsFileName = new ArrayList();
+
         for ( Iterator j = reports.iterator(); j.hasNext(); )
         {
             MavenReport report = (MavenReport) j.next();
@@ -785,6 +794,7 @@
                     sink, locale );
             }
         }
+        return generatedReportsFileName;
     }
 
     private void generateProjectInfoPage( String siteDescriptor, Locale locale, List projectInfos,



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
For additional commands, e-mail: dev-help@maven.apache.org