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/05/31 16:06:22 UTC

svn commit: r780427 - in /maven/plugins/trunk/maven-pdf-plugin/src: main/java/org/apache/maven/plugins/pdf/PdfMojo.java test/resources/unit/pdf/iText_pom.xml test/resources/unit/pdf/pom.xml test/resources/unit/pdf/pom_filtering.xml

Author: vsiveton
Date: Sun May 31 14:06:21 2009
New Revision: 780427

URL: http://svn.apache.org/viewvc?rev=780427&view=rev
Log:
MPDF-14: Outputdirectory contains always working files

o add new param to distinct working and output dirs
o update tests

Modified:
    maven/plugins/trunk/maven-pdf-plugin/src/main/java/org/apache/maven/plugins/pdf/PdfMojo.java
    maven/plugins/trunk/maven-pdf-plugin/src/test/resources/unit/pdf/iText_pom.xml
    maven/plugins/trunk/maven-pdf-plugin/src/test/resources/unit/pdf/pom.xml
    maven/plugins/trunk/maven-pdf-plugin/src/test/resources/unit/pdf/pom_filtering.xml

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=780427&r1=780426&r2=780427&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 Sun May 31 14:06:21 2009
@@ -160,14 +160,22 @@
     private File siteDirectory;
 
     /**
-     * Directory containing the generated project sites and report distributions.
+     * Output directory where PDF files should be created.
      *
-     * @parameter alias="workingDirectory" expression="${project.build.directory}/pdf"
+     * @parameter expression="${project.build.directory}/pdf"
      * @required
      */
     private File outputDirectory;
 
     /**
+     * Working directory for working files like temp files/resources.
+     *
+     * @parameter expression="${project.build.directory}/pdf"
+     * @required
+     */
+    private File workingDirectory;
+
+    /**
      * File that contains the DocumentModel of the PDF to generate.
      *
      * @parameter expression="src/site/pdf.xml"
@@ -238,7 +246,7 @@
             {
                 Locale locale = (Locale) iterator.next();
 
-                File outputDir = getOutputDirectory( locale, defaultLocale );
+                File workingDir = getWorkingDirectory( locale, defaultLocale );
 
                 File siteDirectoryFile = siteDirectory;
                 if ( !locale.getLanguage().equals( defaultLocale.getLanguage() ) )
@@ -249,7 +257,19 @@
                 // Copy extra-resources
                 copyResources( locale );
 
-                docRenderer.render( siteDirectoryFile, outputDir, getDocumentModel() );
+                docRenderer.render( siteDirectoryFile, workingDir, getDocumentModel() );
+            }
+
+            if ( !outputDirectory.getCanonicalPath().equals( workingDirectory.getCanonicalPath() ) )
+            {
+                List pdfs = FileUtils.getFiles( workingDirectory, "**/*.pdf", null );
+                for ( Iterator it = pdfs.iterator(); it.hasNext(); )
+                {
+                    File pdf = (File) it.next();
+
+                    FileUtils.copyFile( pdf, new File( outputDirectory, pdf.getName() ) );
+                    pdf.delete();
+                }
             }
         }
         catch ( DocumentRendererException e )
@@ -288,21 +308,20 @@
     }
 
     /**
-     * Return the output directory for a given Locale and the current default Locale.
+     * Return the working directory for a given Locale and the current default Locale.
      *
      * @param locale a Locale.
      * @param defaultLocale the current default Locale.
      * @return File.
-     * @todo can be re-used
      */
-    private File getOutputDirectory( Locale locale, Locale defaultLocale )
+    private File getWorkingDirectory( Locale locale, Locale defaultLocale )
     {
         if ( locale.getLanguage().equals( defaultLocale.getLanguage() ) )
         {
-            return outputDirectory;
+            return workingDirectory;
         }
 
-        return new File( outputDirectory, locale.getLanguage() );
+        return new File( workingDirectory, locale.getLanguage() );
     }
 
     /**
@@ -530,7 +549,7 @@
             {
                 File siteDirectoryFile = (File) i.next();
 
-                siteRenderer.copyResources( context, new File( siteDirectoryFile, "resources" ), outputDirectory );
+                siteRenderer.copyResources( context, new File( siteDirectoryFile, "resources" ), workingDirectory );
             }
         }
         catch ( IOException e )

Modified: maven/plugins/trunk/maven-pdf-plugin/src/test/resources/unit/pdf/iText_pom.xml
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-pdf-plugin/src/test/resources/unit/pdf/iText_pom.xml?rev=780427&r1=780426&r2=780427&view=diff
==============================================================================
--- maven/plugins/trunk/maven-pdf-plugin/src/test/resources/unit/pdf/iText_pom.xml (original)
+++ maven/plugins/trunk/maven-pdf-plugin/src/test/resources/unit/pdf/iText_pom.xml Sun May 31 14:06:21 2009
@@ -32,6 +32,7 @@
           <docDescriptor>${basedir}/target/test-classes/unit/pdf/src/site/pdf.xml</docDescriptor>
           <siteDirectory>${basedir}/target/test-classes/unit/pdf/src/site/</siteDirectory>
           <outputDirectory>${basedir}/target/test-output/pdf</outputDirectory>
+          <workingDirectory>${basedir}/target/test-output/pdf</workingDirectory>
           <implementation>itext</implementation>
         </configuration>
       </plugin>

Modified: maven/plugins/trunk/maven-pdf-plugin/src/test/resources/unit/pdf/pom.xml
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-pdf-plugin/src/test/resources/unit/pdf/pom.xml?rev=780427&r1=780426&r2=780427&view=diff
==============================================================================
--- maven/plugins/trunk/maven-pdf-plugin/src/test/resources/unit/pdf/pom.xml (original)
+++ maven/plugins/trunk/maven-pdf-plugin/src/test/resources/unit/pdf/pom.xml Sun May 31 14:06:21 2009
@@ -32,6 +32,7 @@
           <docDescriptor>${basedir}/target/test-classes/unit/pdf/src/site/pdf.xml</docDescriptor>
           <siteDirectory>${basedir}/target/test-classes/unit/pdf/src/site/</siteDirectory>
           <outputDirectory>${basedir}/target/test-output/pdf</outputDirectory>
+          <workingDirectory>${basedir}/target/test-output/pdf</workingDirectory>
           <implementation>fo</implementation>
         </configuration>
       </plugin>

Modified: maven/plugins/trunk/maven-pdf-plugin/src/test/resources/unit/pdf/pom_filtering.xml
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-pdf-plugin/src/test/resources/unit/pdf/pom_filtering.xml?rev=780427&r1=780426&r2=780427&view=diff
==============================================================================
--- maven/plugins/trunk/maven-pdf-plugin/src/test/resources/unit/pdf/pom_filtering.xml (original)
+++ maven/plugins/trunk/maven-pdf-plugin/src/test/resources/unit/pdf/pom_filtering.xml Sun May 31 14:06:21 2009
@@ -59,6 +59,7 @@
           <docDescriptor>${basedir}/target/test-classes/unit/pdf/src/site/pdf_filtering.xml</docDescriptor>
           <siteDirectory>${basedir}/target/test-classes/unit/pdf/src/site/</siteDirectory>
           <outputDirectory>${basedir}/target/test-output/pdf</outputDirectory>
+          <workingDirectory>${basedir}/target/test-output/pdf</workingDirectory>
           <implementation>fo</implementation>
         </configuration>
       </plugin>