You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by de...@apache.org on 2012/10/30 23:11:05 UTC
svn commit: r1403897 - in /maven/plugins/trunk/maven-assembly-plugin/src:
it/projects/filtering-feature/filters-defined-in-build/
main/java/org/apache/maven/plugin/assembly/format/
main/java/org/apache/maven/plugin/assembly/utils/ test/java/org/apache/...
Author: dennisl
Date: Tue Oct 30 22:11:04 2012
New Revision: 1403897
URL: http://svn.apache.org/viewvc?rev=1403897&view=rev
Log:
[MASSEMBLY-371] Converting line endings corrupts ISO-8859-1 files when platform encoding is UTF-8
Modified:
maven/plugins/trunk/maven-assembly-plugin/src/it/projects/filtering-feature/filters-defined-in-build/verify.bsh
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/utils/AssemblyFileUtils.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/it/projects/filtering-feature/filters-defined-in-build/verify.bsh
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-assembly-plugin/src/it/projects/filtering-feature/filters-defined-in-build/verify.bsh?rev=1403897&r1=1403896&r2=1403897&view=diff
==============================================================================
--- maven/plugins/trunk/maven-assembly-plugin/src/it/projects/filtering-feature/filters-defined-in-build/verify.bsh (original)
+++ maven/plugins/trunk/maven-assembly-plugin/src/it/projects/filtering-feature/filters-defined-in-build/verify.bsh Tue Oct 30 22:11:04 2012
@@ -5,7 +5,8 @@ import java.util.jar.*;
try
{
File file = new File( basedir, "target/filters-defined-in-build-1/file-1.properties");
- BufferedReader r = new BufferedReader(new FileReader(file));
+ // This is a properties file encoded using ISO-8859-1
+ BufferedReader r = new BufferedReader( new InputStreamReader( new FileInputStream( file ), "ISO-8859-1" ) );
String s = r.readLine();
if(s.contains("filter.build"))
{
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=1403897&r1=1403896&r2=1403897&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 30 22:11:04 2012
@@ -128,7 +128,7 @@ public class FileFormatter
File target = FileUtils.createTempFile( source.getName() + ".", ".formatted", tempRoot );
- AssemblyFileUtils.convertLineEndings( contentReader, target, lineEndingChars );
+ AssemblyFileUtils.convertLineEndings( contentReader, target, lineEndingChars, encoding );
return target;
}
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=1403897&r1=1403896&r2=1403897&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 30 22:11:04 2012
@@ -22,8 +22,9 @@ package org.apache.maven.plugin.assembly
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
-import java.io.FileWriter;
+import java.io.FileOutputStream;
import java.io.IOException;
+import java.io.OutputStreamWriter;
import java.io.RandomAccessFile;
import java.io.Reader;
import java.nio.channels.FileChannel;
@@ -135,7 +136,7 @@ public final class AssemblyFileUtils
* @param lineEndings This is the result of the getLineEndingChars(..) method in this utility class; the actual
* line-ending characters.
*/
- public static void convertLineEndings( Reader source, File dest, String lineEndings )
+ public static void convertLineEndings( Reader source, File dest, String lineEndings, String encoding )
throws IOException
{
BufferedWriter out = null;
@@ -151,7 +152,14 @@ public final class AssemblyFileUtils
bufferedSource = new BufferedReader( source );
}
- out = new BufferedWriter( new FileWriter( dest ) ); // platform encoding
+ if ( encoding == null )
+ {
+ out = new BufferedWriter( new OutputStreamWriter( new FileOutputStream( dest ) ) ); // platform encoding
+ }
+ else
+ {
+ out = new BufferedWriter( new OutputStreamWriter( new FileOutputStream( dest ), encoding ) );
+ }
String line;
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=1403897&r1=1403896&r2=1403897&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 30 22:11:04 2012
@@ -172,7 +172,8 @@ public class AssemblyFileUtilsTest
File dest = File.createTempFile( "line-conversion-test.", "" );
dest.deleteOnExit();
- AssemblyFileUtils.convertLineEndings( new StringReader( test ), dest, lineEndingChars );
+ // Using platform encoding for the conversion tests in this class is OK
+ AssemblyFileUtils.convertLineEndings( new StringReader( test ), dest, lineEndingChars, null );
FileReader reader = null;
StringWriter writer = new StringWriter();