You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by vs...@apache.org on 2009/08/11 22:41:05 UTC

svn commit: r803286 - /maven/plugins/trunk/maven-pdf-plugin/src/main/java/org/apache/maven/plugins/pdf/PdfMojo.java

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 );
+                            }
                         }
                     }
                 }