You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by hb...@apache.org on 2007/10/23 18:11:19 UTC

svn commit: r587548 - in /maven/plugins/trunk/maven-assembly-plugin/src: main/java/org/apache/maven/plugin/assembly/archive/ main/java/org/apache/maven/plugin/assembly/filter/ main/java/org/apache/maven/plugin/assembly/format/ main/java/org/apache/mave...

Author: hboutemy
Date: Tue Oct 23 09:11:18 2007
New Revision: 587548

URL: http://svn.apache.org/viewvc?rev=587548&view=rev
Log:
improved encoding support:
- Manifest file is in UTF-8
- UTF-8 instead of platform encoding for XML files (waiting for plexus-utils 1.4.5+ to be more flexible)
- added comments where platform encoding is used without it being proven as a bug
- marked as FIXME SimpleAggregatingDescriptorHandler: if the content is really Properties, ISO-8859-1 encoding should be used

Modified:
    maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/archive/ManifestCreationFinalizer.java
    maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/filter/ComponentsXmlArchiverFileFilter.java
    maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/filter/SimpleAggregatingDescriptorHandler.java
    maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/format/FileFormatter.java
    maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/io/DefaultAssemblyReader.java
    maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/utils/AssemblyFileUtils.java
    maven/plugins/trunk/maven-assembly-plugin/src/test/java/org/apache/maven/plugin/assembly/format/FileSetFormatterTest.java
    maven/plugins/trunk/maven-assembly-plugin/src/test/java/org/apache/maven/plugin/assembly/io/DefaultAssemblyReaderTest.java
    maven/plugins/trunk/maven-assembly-plugin/src/test/java/org/apache/maven/plugin/assembly/testutils/TestFileManager.java
    maven/plugins/trunk/maven-assembly-plugin/src/test/java/org/apache/maven/plugin/assembly/testutils/TestUtils.java
    maven/plugins/trunk/maven-assembly-plugin/src/test/java/org/apache/maven/plugin/assembly/utils/AssemblyFileUtilsTest.java

Modified: maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/archive/ManifestCreationFinalizer.java
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/archive/ManifestCreationFinalizer.java?rev=587548&r1=587547&r2=587548&view=diff
==============================================================================
--- maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/archive/ManifestCreationFinalizer.java (original)
+++ maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/archive/ManifestCreationFinalizer.java Tue Oct 23 09:11:18 2007
@@ -1,9 +1,11 @@
 package org.apache.maven.plugin.assembly.archive;
 
 import java.io.File;
+import java.io.FileInputStream;
 import java.io.FileNotFoundException;
-import java.io.FileReader;
 import java.io.IOException;
+import java.io.InputStreamReader;
+import java.io.Reader;
 import java.util.Collections;
 import java.util.List;
 
@@ -51,10 +53,10 @@
 
                 if ( manifestFile != null )
                 {
-                    FileReader manifestFileReader = null;
+                    Reader manifestFileReader = null;
                     try
                     {
-                        manifestFileReader = new FileReader( manifestFile );
+                        manifestFileReader = new InputStreamReader( new FileInputStream( manifestFile ), "UTF-8" );
                         manifest = new Manifest( manifestFileReader );
                     }
                     catch ( FileNotFoundException e )

Modified: maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/filter/ComponentsXmlArchiverFileFilter.java
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/filter/ComponentsXmlArchiverFileFilter.java?rev=587548&r1=587547&r2=587548&view=diff
==============================================================================
--- maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/filter/ComponentsXmlArchiverFileFilter.java (original)
+++ maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/filter/ComponentsXmlArchiverFileFilter.java Tue Oct 23 09:11:18 2007
@@ -27,11 +27,13 @@
 import org.codehaus.plexus.util.xml.pull.XmlPullParserException;
 
 import java.io.File;
-import java.io.FileWriter;
+import java.io.FileOutputStream;
 import java.io.IOException;
 import java.io.InputStream;
 import java.io.InputStreamReader;
+import java.io.OutputStreamWriter;
 import java.io.Reader;
+import java.io.Writer;
 import java.util.Collections;
 import java.util.Iterator;
 import java.util.LinkedHashMap;
@@ -108,7 +110,8 @@
             File f = File.createTempFile( "maven-assembly-plugin", "tmp" );
             f.deleteOnExit();
 
-            FileWriter fileWriter = new FileWriter( f );
+            // TODO use WriterFactory.newXmlWriter() when plexus-utils is upgraded to 1.4.5+
+            Writer fileWriter = new OutputStreamWriter( new FileOutputStream( f ), "UTF-8" );
             try
             {
                 Xpp3Dom dom = new Xpp3Dom( "component-set" );
@@ -184,7 +187,8 @@
                 try
                 {
                     stream = fileInfo.getContents();
-                    reader = new InputStreamReader( stream );
+                    // TODO use ReaderFactory.newXmlReader() when plexus-utils is upgraded to 1.4.5+
+                    reader = new InputStreamReader( stream, "UTF-8" );
                     addComponentsXml( reader );
                 }
                 catch ( XmlPullParserException e )

Modified: maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/filter/SimpleAggregatingDescriptorHandler.java
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/filter/SimpleAggregatingDescriptorHandler.java?rev=587548&r1=587547&r2=587548&view=diff
==============================================================================
--- maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/filter/SimpleAggregatingDescriptorHandler.java (original)
+++ maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/filter/SimpleAggregatingDescriptorHandler.java Tue Oct 23 09:11:18 2007
@@ -81,7 +81,8 @@
             f = File.createTempFile( "maven-assembly-plugin", "tmp" );
             f.deleteOnExit();
 
-            writer = new FileWriter( f );
+            // FIXME if it is a properties file, encoding should be ISO-8859-1
+            writer = new FileWriter( f ); // platform encoding
 
             writer.write( commentChars + " Aggregated on " + new Date() + " from: " );
 
@@ -148,7 +149,8 @@
         Reader reader = null;
         try
         {
-            reader = new InputStreamReader( fileInfo.getContents() );
+            // FIXME if it is a properties file, encoding should be ISO-8859-1
+            reader = new InputStreamReader( fileInfo.getContents() ); // platform encoding
 
             IOUtil.copy( reader, writer );
         }

Modified: maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/format/FileFormatter.java
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/format/FileFormatter.java?rev=587548&r1=587547&r2=587548&view=diff
==============================================================================
--- maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/format/FileFormatter.java (original)
+++ maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/format/FileFormatter.java Tue Oct 23 09:11:18 2007
@@ -56,7 +56,7 @@
         throws AssemblyFormattingException
     {
         File result = source;
-        
+
         AssemblyFileUtils.verifyTempDirectoryAvailability( tempRoot, logger );
 
         String sourceName = source.getName();
@@ -66,9 +66,9 @@
             boolean contentIsChanged = false;
 
             String rawContents = readFile( source );
-            
+
             String contents = rawContents;
-            
+
             if ( filter )
             {
                 contents = filter( contents );
@@ -81,7 +81,7 @@
             File tempFilterFile = FileUtils.createTempFile( sourceName + ".", ".filtered", tempRoot );
 
             boolean fileWritten = formatLineEndings( contentReader, tempFilterFile, lineEnding, contentIsChanged );
-            
+
             if ( fileWritten )
             {
                 result = tempFilterFile;
@@ -99,6 +99,11 @@
         return result;
     }
 
+    /**
+     * Read file content, using platform encoding.
+     * @param source the file to read
+     * @return the file content, read with platform encoding
+     */
     private String readFile( File source )
         throws IOException
     {
@@ -108,7 +113,7 @@
 
         try
         {
-            fileReader = new FileReader( source );
+            fileReader = new FileReader( source ); // platform encoding
 
             IOUtil.copy( fileReader, contentWriter );
         }
@@ -125,13 +130,13 @@
         throws IOException, AssemblyFormattingException
     {
         boolean fileWritten = false;
-        
+
         String lineEndingChars = AssemblyFileUtils.getLineEndingCharacters( lineEnding );
 
         if ( lineEndingChars != null )
         {
             AssemblyFileUtils.convertLineEndings( contentReader, tempFilterFile, lineEndingChars );
-            
+
             fileWritten = true;
         }
         else if ( contentIsChanged )
@@ -140,10 +145,10 @@
 
             try
             {
-                fileWriter = new FileWriter( tempFilterFile );
+                fileWriter = new FileWriter( tempFilterFile ); // platform encoding
 
                 IOUtil.copy( contentReader, fileWriter );
-                
+
                 fileWritten = true;
             }
             finally
@@ -151,7 +156,7 @@
                 IOUtil.close( fileWriter );
             }
         }
-        
+
         return fileWritten;
     }
 

Modified: maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/io/DefaultAssemblyReader.java
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/io/DefaultAssemblyReader.java?rev=587548&r1=587547&r2=587548&view=diff
==============================================================================
--- maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/io/DefaultAssemblyReader.java (original)
+++ maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/io/DefaultAssemblyReader.java Tue Oct 23 09:11:18 2007
@@ -34,12 +34,13 @@
 import org.codehaus.plexus.util.xml.pull.XmlPullParserException;
 
 import java.io.File;
-import java.io.FileReader;
+import java.io.FileInputStream;
 import java.io.IOException;
 import java.io.InputStream;
 import java.io.InputStreamReader;
 import java.io.Reader;
 import java.io.StringWriter;
+import java.io.UnsupportedEncodingException;
 import java.util.ArrayList;
 import java.util.Collections;
 import java.util.HashMap;
@@ -202,7 +203,16 @@
             throw new AssemblyReadException( "Descriptor with ID '" + ref + "' not found" );
         }
 
-        return readAssembly( new InputStreamReader( resourceAsStream ), ref, configSource );
+        try
+        {
+            // TODO use ReaderFactory.newXmlReader() when plexus-utils is upgraded to 1.4.5+
+            return readAssembly( new InputStreamReader( resourceAsStream, "UTF-8" ), ref, configSource );
+        }
+        catch ( UnsupportedEncodingException e )
+        {
+            // should not occur since UTF-8 support is mandatory
+            throw new AssemblyReadException( "Encoding not supported for descriptor with ID '" + ref + "'" );
+        }
     }
 
     public Assembly getAssemblyFromDescriptorFile( File descriptor, AssemblerConfigurationSource configSource )
@@ -211,7 +221,8 @@
         Reader r = null;
         try
         {
-            r = new FileReader( descriptor );
+            // TODO use ReaderFactory.newXmlReader() when plexus-utils is upgraded to 1.4.5+
+            r = new InputStreamReader( new FileInputStream( descriptor ), "UTF-8" );
             return readAssembly( r, descriptor.getAbsolutePath(), configSource );
         }
         catch ( IOException e )
@@ -237,7 +248,8 @@
         Reader r = null;
         try
         {
-            r = new InputStreamReader( location.getInputStream() );
+         // TODO use ReaderFactory.newXmlReader() when plexus-utils is upgraded to 1.4.5+
+            r = new InputStreamReader( location.getInputStream(), "UTF-8" );
             return readAssembly( r, spec, configSource );
         }
         catch ( IOException e )

Modified: maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/utils/AssemblyFileUtils.java
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/utils/AssemblyFileUtils.java?rev=587548&r1=587547&r2=587548&view=diff
==============================================================================
--- maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/utils/AssemblyFileUtils.java (original)
+++ maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/utils/AssemblyFileUtils.java Tue Oct 23 09:11:18 2007
@@ -30,7 +30,7 @@
     private AssemblyFileUtils()
     {
     }
-    
+
     public static void verifyTempDirectoryAvailability( final File tempDir, final Logger logger )
     {
         if (!tempDir.exists()) 
@@ -68,6 +68,7 @@
 
     /**
      * NOTE: It is the responsibility of the caller to close the source Reader instance.
+     * The file content is written using platform encoding.
      * @param lineEndings This is the result of the getLineEndingChars(..) method in this utility class; the actual
      *   line-ending characters.
      */
@@ -87,7 +88,7 @@
                 bufferedSource = new BufferedReader( source );
             }
 
-            out = new BufferedWriter( new FileWriter( dest ) );
+            out = new BufferedWriter( new FileWriter( dest ) ); // platform encoding
 
             String line;
 
@@ -135,7 +136,7 @@
 
         return value;
     }
-    
+
     public static void copyFile( File src, File dst ) throws IOException
     {
         FileChannel c1 = new RandomAccessFile( src, "r" ).getChannel();
@@ -148,6 +149,6 @@
         c1.close();
         c2.force( true );
         c2.close();
-    }   
-    
+    }
+
 }

Modified: maven/plugins/trunk/maven-assembly-plugin/src/test/java/org/apache/maven/plugin/assembly/format/FileSetFormatterTest.java
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-assembly-plugin/src/test/java/org/apache/maven/plugin/assembly/format/FileSetFormatterTest.java?rev=587548&r1=587547&r2=587548&view=diff
==============================================================================
--- maven/plugins/trunk/maven-assembly-plugin/src/test/java/org/apache/maven/plugin/assembly/format/FileSetFormatterTest.java (original)
+++ maven/plugins/trunk/maven-assembly-plugin/src/test/java/org/apache/maven/plugin/assembly/format/FileSetFormatterTest.java Tue Oct 23 09:11:18 2007
@@ -2,7 +2,6 @@
 
 import java.io.File;
 import java.io.IOException;
-import java.util.ArrayList;
 import java.util.Collections;
 import java.util.List;
 
@@ -257,5 +256,5 @@
         configSource.getFilters();
         configSourceControl.setReturnValue( filterFilenames );
     }
-    
+
 }

Modified: maven/plugins/trunk/maven-assembly-plugin/src/test/java/org/apache/maven/plugin/assembly/io/DefaultAssemblyReaderTest.java
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-assembly-plugin/src/test/java/org/apache/maven/plugin/assembly/io/DefaultAssemblyReaderTest.java?rev=587548&r1=587547&r2=587548&view=diff
==============================================================================
--- maven/plugins/trunk/maven-assembly-plugin/src/test/java/org/apache/maven/plugin/assembly/io/DefaultAssemblyReaderTest.java (original)
+++ maven/plugins/trunk/maven-assembly-plugin/src/test/java/org/apache/maven/plugin/assembly/io/DefaultAssemblyReaderTest.java Tue Oct 23 09:11:18 2007
@@ -21,10 +21,12 @@
 import org.easymock.MockControl;
 
 import java.io.File;
-import java.io.FileWriter;
+import java.io.FileOutputStream;
 import java.io.IOException;
+import java.io.OutputStreamWriter;
 import java.io.StringReader;
 import java.io.StringWriter;
+import java.io.Writer;
 import java.util.ArrayList;
 import java.util.Collections;
 import java.util.Iterator;
@@ -438,11 +440,11 @@
 
         File componentFile = fileManager.createTempFile();
 
-        FileWriter writer = null;
+        Writer writer = null;
 
         try
         {
-            writer = new FileWriter( componentFile );
+            writer = new OutputStreamWriter( new FileOutputStream( componentFile ), "UTF-8" );
 
             ComponentXpp3Writer componentWriter = new ComponentXpp3Writer();
 
@@ -639,11 +641,11 @@
 
         component.addFileSet( fs );
 
-        FileWriter fw = null;
+        Writer fw = null;
 
         try
         {
-            fw = new FileWriter( componentsFile );
+            fw = new OutputStreamWriter( new FileOutputStream( componentsFile ), "UTF-8" );
             new ComponentXpp3Writer().write( fw, component );
         }
         finally
@@ -695,72 +697,74 @@
     }
 
     public void testReadAssembly_ShouldReadAssemblyWithComponentInterpolationWithoutSiteDirInclusionOrAssemblyInterpolation()
-			throws IOException, AssemblyReadException, InvalidAssemblerConfigurationException
-	 {
-		File componentsFile = fileManager.createTempFile();
+        throws IOException, AssemblyReadException, InvalidAssemblerConfigurationException
+    {
+        File componentsFile = fileManager.createTempFile();
 
-		File basedir = componentsFile.getParentFile();
-		String componentsFilename = componentsFile.getName();
+        File basedir = componentsFile.getParentFile();
+        String componentsFilename = componentsFile.getName();
 
-		Component component = new Component();
+        Component component = new Component();
 
-		FileSet fs = new FileSet();
-		fs.setDirectory("${groupId}-dir");
+        FileSet fs = new FileSet();
+        fs.setDirectory( "${groupId}-dir" );
 
-		component.addFileSet(fs);
+        component.addFileSet( fs );
 
-		FileWriter fw = null;
+        Writer fw = null;
 
-		try {
-			fw = new FileWriter(componentsFile);
-			new ComponentXpp3Writer().write(fw, component);
-		} finally {
-			IOUtil.close(fw);
-		}
+        try
+        {
+            fw = new OutputStreamWriter( new FileOutputStream( componentsFile ), "UTF-8" );
+            new ComponentXpp3Writer().write( fw, component );
+        }
+        finally
+        {
+            IOUtil.close( fw );
+        }
 
-		Assembly assembly = new Assembly();
-		assembly.setId("test");
+        Assembly assembly = new Assembly();
+        assembly.setId( "test" );
 
-		assembly.addComponentDescriptor(componentsFilename);
+        assembly.addComponentDescriptor( componentsFilename );
 
-		StringWriter sw = new StringWriter();
-		AssemblyXpp3Writer assemblyWriter = new AssemblyXpp3Writer();
+        StringWriter sw = new StringWriter();
+        AssemblyXpp3Writer assemblyWriter = new AssemblyXpp3Writer();
 
-		assemblyWriter.write(sw, assembly);
+        assemblyWriter.write( sw, assembly );
 
-		StringReader sr = new StringReader(sw.toString());
+        StringReader sr = new StringReader( sw.toString() );
 
-		configSource.getBasedir();
-		configSourceControl.setReturnValue(basedir, MockControl.ONE_OR_MORE);
+        configSource.getBasedir();
+        configSourceControl.setReturnValue( basedir, MockControl.ONE_OR_MORE );
 
-		Model model = new Model();
-		model.setGroupId("group");
-		model.setArtifactId("artifact");
-		model.setVersion("version");
+        Model model = new Model();
+        model.setGroupId( "group" );
+        model.setArtifactId( "artifact" );
+        model.setVersion( "version" );
 
-		MavenProject project = new MavenProject(model);
+        MavenProject project = new MavenProject( model );
 
-		configSource.getProject();
-		configSourceControl.setReturnValue(project);
+        configSource.getProject();
+        configSourceControl.setReturnValue( project );
 
-		configSource.isSiteIncluded();
-		configSourceControl.setReturnValue(false);
+        configSource.isSiteIncluded();
+        configSourceControl.setReturnValue( false );
 
-		mockManager.replayAll();
+        mockManager.replayAll();
 
-		Assembly result = new DefaultAssemblyReader().readAssembly(sr,
-				"testLocation", configSource);
+        Assembly result = new DefaultAssemblyReader().readAssembly( sr, "testLocation", configSource );
 
-		assertEquals(assembly.getId(), result.getId());
+        assertEquals( assembly.getId(), result.getId() );
 
-		List fileSets = result.getFileSets();
+        List fileSets = result.getFileSets();
 
-		assertEquals(1, fileSets.size());
+        assertEquals( 1, fileSets.size() );
 
-		assertEquals("group-dir", ((FileSet) fileSets.get(0)).getDirectory());
+        assertEquals( "group-dir", ( (FileSet) fileSets.get( 0 ) ).getDirectory() );
 
-		mockManager.verifyAll();
-	}
+        mockManager.verifyAll();
+    }
 
     public void testReadAssembly_ShouldReadAssemblyWithInterpolationWithoutComponentsOrSiteDirInclusion()
         throws IOException, AssemblyReadException, InvalidAssemblerConfigurationException
@@ -826,10 +830,10 @@
         configSource.isSiteIncluded();
         configSourceControl.setReturnValue( false, MockControl.ZERO_OR_MORE );
 
-        FileWriter writer = null;
+        Writer writer = null;
         try
         {
-            writer = new FileWriter( assemblyFile );
+            writer = new OutputStreamWriter( new FileOutputStream( assemblyFile ), "UTF-8" );
             new AssemblyXpp3Writer().write( writer, assembly );
         }
         finally
@@ -1003,10 +1007,10 @@
 
             File assemblyFile = new File( dir, assembly.getId() + ".xml" );
 
-            FileWriter writer = null;
+            Writer writer = null;
             try
             {
-                writer = new FileWriter( assemblyFile );
+                writer = new OutputStreamWriter( new FileOutputStream( assemblyFile ), "UTF-8" );
                 new AssemblyXpp3Writer().write( writer, assembly );
             }
             finally

Modified: maven/plugins/trunk/maven-assembly-plugin/src/test/java/org/apache/maven/plugin/assembly/testutils/TestFileManager.java
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-assembly-plugin/src/test/java/org/apache/maven/plugin/assembly/testutils/TestFileManager.java?rev=587548&r1=587547&r2=587548&view=diff
==============================================================================
--- maven/plugins/trunk/maven-assembly-plugin/src/test/java/org/apache/maven/plugin/assembly/testutils/TestFileManager.java (original)
+++ maven/plugins/trunk/maven-assembly-plugin/src/test/java/org/apache/maven/plugin/assembly/testutils/TestFileManager.java Tue Oct 23 09:11:18 2007
@@ -7,8 +7,6 @@
 import java.io.FileReader;
 import java.io.FileWriter;
 import java.io.IOException;
-import java.io.StringReader;
-import java.io.StringWriter;
 import java.util.ArrayList;
 import java.util.Iterator;
 import java.util.List;
@@ -140,23 +138,12 @@
 
         File file = new File( dir, filename );
 
-        FileReader reader = null;
-        StringWriter writer = new StringWriter();
-
-        try
-        {
-            reader = new FileReader( file );
-
-            IOUtil.copy( reader, writer );
-        }
-        finally
-        {
-            IOUtil.close( reader );
-        }
-
-        Assert.assertEquals( contentsTest, writer.toString() );
+        Assert.assertEquals( contentsTest, getFileContents( file ) );
     }
 
+    /**
+     * NOTE: the file content is written using platform encoding.
+     */
     public File createFile( File dir, String filename, String contents )
         throws IOException
     {
@@ -168,9 +155,9 @@
 
         try
         {
-            writer = new FileWriter( file );
+            writer = new FileWriter( file ); // platform encoding
 
-            IOUtil.copy( new StringReader( contents ), writer );
+            writer.write( contents );
         }
         finally
         {
@@ -182,6 +169,9 @@
         return file;
     }
 
+    /**
+     * NOTE: the file content is read using platform encoding.
+     */
     public String getFileContents( File file )
         throws IOException
     {
@@ -190,13 +180,9 @@
         FileReader reader = null;
         try
         {
-            reader = new FileReader( file );
-
-            StringWriter writer = new StringWriter();
-
-            IOUtil.copy( reader, writer );
+            reader = new FileReader( file ); // platform encoding
 
-            result = writer.toString();
+            result = IOUtil.toString( reader );
         }
         finally
         {

Modified: maven/plugins/trunk/maven-assembly-plugin/src/test/java/org/apache/maven/plugin/assembly/testutils/TestUtils.java
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-assembly-plugin/src/test/java/org/apache/maven/plugin/assembly/testutils/TestUtils.java?rev=587548&r1=587547&r2=587548&view=diff
==============================================================================
--- maven/plugins/trunk/maven-assembly-plugin/src/test/java/org/apache/maven/plugin/assembly/testutils/TestUtils.java (original)
+++ maven/plugins/trunk/maven-assembly-plugin/src/test/java/org/apache/maven/plugin/assembly/testutils/TestUtils.java Tue Oct 23 09:11:18 2007
@@ -17,13 +17,16 @@
     {
     }
 
+    /**
+     * Write a text to a file using platform encoding.
+     */
     public static void writeToFile( File file, String testStr )
         throws IOException
     {
         FileWriter fw = null;
         try
         {
-            fw = new FileWriter( file );
+            fw = new FileWriter( file ); // platform encoding
             fw.write( testStr );
         }
         finally
@@ -31,25 +34,28 @@
             IOUtil.close( fw );
         }
     }
-    
+
+    /**
+     * Read file content using platform encoding and converting line endings to \\n.
+     */
     public static String readFile( File file ) throws IOException
     {
         StringBuffer buffer = new StringBuffer();
-        
-        BufferedReader reader = new BufferedReader( new FileReader( file ) );
-        
+
+        BufferedReader reader = new BufferedReader( new FileReader( file ) ); // platform encoding
+
         String line = null;
-        
+
         while( ( line = reader.readLine() ) != null )
         {
             if ( buffer.length() > 0 )
             {
                 buffer.append( '\n' );
             }
-            
+
             buffer.append( line );
         }
-        
+
         return buffer.toString();
     }
 
@@ -57,9 +63,9 @@
     {
         StringWriter sw = new StringWriter();
         PrintWriter pw = new PrintWriter( sw );
-        
+
         error.printStackTrace( pw );
-        
+
         return sw.toString();
     }
 }

Modified: maven/plugins/trunk/maven-assembly-plugin/src/test/java/org/apache/maven/plugin/assembly/utils/AssemblyFileUtilsTest.java
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-assembly-plugin/src/test/java/org/apache/maven/plugin/assembly/utils/AssemblyFileUtilsTest.java?rev=587548&r1=587547&r2=587548&view=diff
==============================================================================
--- maven/plugins/trunk/maven-assembly-plugin/src/test/java/org/apache/maven/plugin/assembly/utils/AssemblyFileUtilsTest.java (original)
+++ maven/plugins/trunk/maven-assembly-plugin/src/test/java/org/apache/maven/plugin/assembly/utils/AssemblyFileUtilsTest.java Tue Oct 23 09:11:18 2007
@@ -24,18 +24,18 @@
 {
 
     private TestFileManager fileManager = new TestFileManager( "file-utils.test.", "" );
-    
+
     public void tearDown()
         throws IOException
     {
         fileManager.cleanUp();
     }
-    
+
     public void testUnpack_ShouldSetSourceAndDestinationAndCallExtract()
         throws IOException, ArchiveExpansionException, NoSuchArchiverException
     {
         MockManager mockManager = new MockManager();
-        
+
         File source = fileManager.createTempFile();
         File destDir = fileManager.createTempDir();
 
@@ -48,7 +48,7 @@
         mockManager.add( archiverManagerCtl );
 
         ArchiverManager archiverManager = (ArchiverManager) archiverManagerCtl.getMock();
-        
+
         try
         {
             archiverManager.getUnArchiver( source );