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