Author: vsiveton
Date: Tue Aug 11 20:41:05 2009
New Revision: 803286

URL: http://svn.apache.org/viewvc?rev=803286&view=rev
Log:
o improved logging
o take care of generatedSiteDirectory

Modified:
    
maven/plugins/trunk/maven-pdf-plugin/src/main/java/org/apache/maven/plugins/pdf/PdfMojo.java

Modified: 
maven/plugins/trunk/maven-pdf-plugin/src/main/java/org/apache/maven/plugins/pdf/PdfMojo.java
URL: 
http://svn.apache.org/viewvc/maven/plugins/trunk/maven-pdf-plugin/src/main/java/org/apache/maven/plugins/pdf/PdfMojo.java?rev=803286&r1=803285&r2=803286&view=diff
==============================================================================
--- 
maven/plugins/trunk/maven-pdf-plugin/src/main/java/org/apache/maven/plugins/pdf/PdfMojo.java
 (original)
+++ 
maven/plugins/trunk/maven-pdf-plugin/src/main/java/org/apache/maven/plugins/pdf/PdfMojo.java
 Tue Aug 11 20:41:05 2009
@@ -1083,11 +1083,38 @@
     private void generateMavenReport( MojoDescriptor mojoDescriptor, 
MavenReport report, Locale locale )
         throws IOException, MojoExecutionException
     {
-        if ( report == null || !report.canGenerateReport() || 
report.isExternalReport() )
+        if ( report == null )
         {
             return;
         }
 
+        String localReportName = report.getName( locale );
+        if ( !report.canGenerateReport() )
+        {
+            getLog().info(
+                          "Skipped \"" + localReportName + "\" report, 
canGenerateReport() was false." );
+            return;
+        }
+        if ( report.isExternalReport() )
+        {
+            getLog().info(
+                          "Skipped external report, \"" + localReportName + 
"\" report." );
+            return;
+        }
+
+        for ( final Iterator it = getGeneratedMavenReports().iterator(); 
it.hasNext(); )
+        {
+            MavenReport generatedReport = (MavenReport) it.next();
+            if ( report.getName( locale ).equals( generatedReport.getName( 
locale ) ) )
+            {
+                if ( getLog().isDebugEnabled() )
+                {
+                    getLog().debug( report.getName( locale ) + " was already 
generated." );
+                }
+                return;
+            }
+        }
+
         File outDir = new File( getGeneratedSiteDirectoryTmp(), "xdoc" );
         if ( !locale.getLanguage().equals( defaultLocale.getLanguage() ) )
         {
@@ -1116,7 +1143,6 @@
             return;
         }
 
-        String localReportName = report.getName( locale );
         getLog().info( "Generating \"" + localReportName + "\" report." );
 
         StringWriter sw = new StringWriter();
@@ -1235,37 +1261,40 @@
         // append all generated reports from generated-site
         try
         {
-            String excludes = getDefaultExcludesWithLocales( 
getAvailableLocales(), getDefaultLocale() );
-            List generatedDirs = FileUtils.getDirectoryNames( 
generatedSiteDirectory, "*", excludes, true );
-            if ( !locale.getLanguage().equals( 
getDefaultLocale().getLanguage() ) )
-            {
-                generatedDirs =
-                    FileUtils.getFileNames( new File( generatedSiteDirectory, 
locale.getLanguage() ), "*",
-                                            excludes, true );
-            }
-
-            for ( final Iterator it = generatedDirs.iterator(); it.hasNext(); )
+            if ( generatedSiteDirectory.exists() )
             {
-                final String generatedDir = it.next().toString();
-
-                List generatedFiles = FileUtils.getFileNames( new File( 
generatedDir ), "**.*", excludes, false );
+                String excludes = getDefaultExcludesWithLocales( 
getAvailableLocales(), getDefaultLocale() );
+                List generatedDirs = FileUtils.getDirectoryNames( 
generatedSiteDirectory, "*", excludes, true );
+                if ( !locale.getLanguage().equals( 
getDefaultLocale().getLanguage() ) )
+                {
+                    generatedDirs =
+                        FileUtils.getFileNames( new File( 
generatedSiteDirectory, locale.getLanguage() ), "*",
+                                                excludes, true );
+                }
 
-                for ( final Iterator it2 = generatedFiles.iterator(); 
it2.hasNext(); )
+                for ( final Iterator it = generatedDirs.iterator(); 
it.hasNext(); )
                 {
-                    final String generatedFile = it2.next().toString();
-                    final String ref = generatedFile.substring( 0, 
generatedFile.lastIndexOf( "." ) );
+                    final String generatedDir = it.next().toString();
+
+                    List generatedFiles = FileUtils.getFileNames( new File( 
generatedDir ), "**.*", excludes, false );
 
-                    if ( !addedRef.contains( ref ) )
+                    for ( final Iterator it2 = generatedFiles.iterator(); 
it2.hasNext(); )
                     {
-                        final String title = getGeneratedDocumentTitle( new 
File( generatedDir, generatedFile ) );
+                        final String generatedFile = it2.next().toString();
+                        final String ref = generatedFile.substring( 0, 
generatedFile.lastIndexOf( "." ) );
 
-                        if ( title != null )
+                        if ( !addedRef.contains( ref ) )
                         {
-                            final DocumentTOCItem reportItem = new 
DocumentTOCItem();
-                            reportItem.setName( title );
-                            reportItem.setRef( "/" + ref );
+                            final String title = getGeneratedDocumentTitle( 
new File( generatedDir, generatedFile ) );
 
-                            items.add( reportItem );
+                            if ( title != null )
+                            {
+                                final DocumentTOCItem reportItem = new 
DocumentTOCItem();
+                                reportItem.setName( title );
+                                reportItem.setRef( "/" + ref );
+
+                                items.add( reportItem );
+                            }
                         }
                     }
                 }


Reply via email to