You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by jd...@apache.org on 2005/10/12 22:11:51 UTC

svn commit: r315021 - /maven/components/trunk/maven-plugins/maven-resources-plugin/src/main/java/org/apache/maven/plugin/resources/ResourcesMojo.java

Author: jdcasey
Date: Wed Oct 12 13:11:47 2005
New Revision: 315021

URL: http://svn.apache.org/viewcvs?rev=315021&view=rev
Log:
Resolving: MNG-1129, encoding is now a plugin parameter on the resources mojos.

Modified:
    maven/components/trunk/maven-plugins/maven-resources-plugin/src/main/java/org/apache/maven/plugin/resources/ResourcesMojo.java

Modified: maven/components/trunk/maven-plugins/maven-resources-plugin/src/main/java/org/apache/maven/plugin/resources/ResourcesMojo.java
URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-plugins/maven-resources-plugin/src/main/java/org/apache/maven/plugin/resources/ResourcesMojo.java?rev=315021&r1=315020&r2=315021&view=diff
==============================================================================
--- maven/components/trunk/maven-plugins/maven-resources-plugin/src/main/java/org/apache/maven/plugin/resources/ResourcesMojo.java (original)
+++ maven/components/trunk/maven-plugins/maven-resources-plugin/src/main/java/org/apache/maven/plugin/resources/ResourcesMojo.java Wed Oct 12 13:11:47 2005
@@ -27,9 +27,13 @@
 
 import java.io.BufferedReader;
 import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileOutputStream;
 import java.io.FileReader;
 import java.io.FileWriter;
 import java.io.IOException;
+import java.io.InputStreamReader;
+import java.io.OutputStreamWriter;
 import java.io.Reader;
 import java.io.Writer;
 import java.util.Arrays;
@@ -50,6 +54,12 @@
 public class ResourcesMojo
     extends AbstractMojo
 {
+    
+    /**
+     * @parameter
+     */
+    private String encoding;
+    
     /**
      * The output directory into which to copy the resources.
      *
@@ -95,6 +105,15 @@
     {
         initializeFiltering();
 
+        if ( encoding == null || encoding.length() < 1 )
+        {
+            getLog().info( "Using default encoding to copy filtered resources." );
+        }
+        else
+        {
+            getLog().info( "Using encoding: \'" + encoding + "\' to copy filtered resources." );
+        }
+        
         for ( Iterator i = resources.iterator(); i.hasNext(); )
         {
             Resource resource = (Resource) i.next();
@@ -192,10 +211,24 @@
         else
         {
             // buffer so it isn't reading a byte at a time!
-            Reader fileReader = new BufferedReader( new FileReader( from ) );
+            Reader fileReader = null;
             Writer fileWriter = null;
             try
             {
+                if ( encoding == null || encoding.length() < 1 )
+                {
+                    fileReader = new BufferedReader( new FileReader( from ) );
+                    fileWriter = new FileWriter( to );
+                }
+                else
+                {
+                    FileInputStream instream = new FileInputStream( from );
+                    FileOutputStream outstream = new FileOutputStream( to );
+                    
+                    fileReader = new BufferedReader( new InputStreamReader( instream, encoding ) );
+                    fileWriter = new OutputStreamWriter( outstream, encoding );
+                }
+                
                 // support ${token}
                 Reader reader = new InterpolationFilterReader( fileReader, filterProperties, "${", "}" );
 
@@ -203,8 +236,6 @@
                 reader = new InterpolationFilterReader( reader, filterProperties, "@", "@" );
 
                 reader = new InterpolationFilterReader( reader, new ReflectionProperties( project ), "${", "}" );
-
-                fileWriter = new FileWriter( to );
 
                 IOUtil.copy( reader, fileWriter );
             }