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/28 11:26:33 UTC

svn commit: r1402965 - in /maven/plugins/trunk/maven-assembly-plugin/src: it/projects/filtering-feature/filters-defined-in-build/ it/projects/filtering-feature/filters-defined-in-build/src/main/assembly/ it/projects/filtering-feature/filters-defined-in...

Author: dennisl
Date: Sun Oct 28 10:26:32 2012
New Revision: 1402965

URL: http://svn.apache.org/viewvc?rev=1402965&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/pom.xml
    maven/plugins/trunk/maven-assembly-plugin/src/it/projects/filtering-feature/filters-defined-in-build/src/main/assembly/descriptor.xml
    maven/plugins/trunk/maven-assembly-plugin/src/it/projects/filtering-feature/filters-defined-in-build/src/main/config/file-1.properties
    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

Modified: maven/plugins/trunk/maven-assembly-plugin/src/it/projects/filtering-feature/filters-defined-in-build/pom.xml
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-assembly-plugin/src/it/projects/filtering-feature/filters-defined-in-build/pom.xml?rev=1402965&r1=1402964&r2=1402965&view=diff
==============================================================================
--- maven/plugins/trunk/maven-assembly-plugin/src/it/projects/filtering-feature/filters-defined-in-build/pom.xml (original)
+++ maven/plugins/trunk/maven-assembly-plugin/src/it/projects/filtering-feature/filters-defined-in-build/pom.xml Sun Oct 28 10:26:32 2012
@@ -37,4 +37,7 @@
       </plugin>
     </plugins>
   </build>
+  <properties>
+    <project.build.sourceEncoding>ISO-8859-1</project.build.sourceEncoding>
+  </properties>
 </project>

Modified: maven/plugins/trunk/maven-assembly-plugin/src/it/projects/filtering-feature/filters-defined-in-build/src/main/assembly/descriptor.xml
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-assembly-plugin/src/it/projects/filtering-feature/filters-defined-in-build/src/main/assembly/descriptor.xml?rev=1402965&r1=1402964&r2=1402965&view=diff
==============================================================================
--- maven/plugins/trunk/maven-assembly-plugin/src/it/projects/filtering-feature/filters-defined-in-build/src/main/assembly/descriptor.xml (original)
+++ maven/plugins/trunk/maven-assembly-plugin/src/it/projects/filtering-feature/filters-defined-in-build/src/main/assembly/descriptor.xml Sun Oct 28 10:26:32 2012
@@ -14,6 +14,7 @@
     <fileSet>
       <directory>${basedir}/src/main/config</directory>
       <outputDirectory></outputDirectory>
+      <lineEnding>unix</lineEnding>
       <filtered>true</filtered>
     </fileSet>
   </fileSets>

Modified: maven/plugins/trunk/maven-assembly-plugin/src/it/projects/filtering-feature/filters-defined-in-build/src/main/config/file-1.properties
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-assembly-plugin/src/it/projects/filtering-feature/filters-defined-in-build/src/main/config/file-1.properties?rev=1402965&r1=1402964&r2=1402965&view=diff
==============================================================================
--- maven/plugins/trunk/maven-assembly-plugin/src/it/projects/filtering-feature/filters-defined-in-build/src/main/config/file-1.properties (original)
+++ maven/plugins/trunk/maven-assembly-plugin/src/it/projects/filtering-feature/filters-defined-in-build/src/main/config/file-1.properties Sun Oct 28 10:26:32 2012
@@ -1,4 +1,5 @@
 test.build.filter.props.1=${filter.build}
 escapedString=\${project.artifactId}
+non.ascii.characters=some characters åäö
 test.assembly.filter.props.1=${filter.assembly}
 test.pom.props.1=${project.artifactId}-${project.version}.${project.packaging}
\ No newline at end of file

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=1402965&r1=1402964&r2=1402965&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 Sun Oct 28 10:26:32 2012
@@ -18,6 +18,12 @@ try
         System.out.println("file-1.properties did not escape filtering");
         return false;
     }
+    s = r.readLine();
+    if(!s.contains("åäö"))
+    {
+        System.out.println("file-1.properties has corrupted non ascii characters");
+        return false;
+    }
 
     file = new File( basedir, "target/filters-defined-in-build-1/file-2.properties");
     r = new BufferedReader(new FileReader(file));

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=1402965&r1=1402964&r2=1402965&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 Sun Oct 28 10:26:32 2012
@@ -30,9 +30,10 @@ import org.codehaus.plexus.util.ReaderFa
 import org.codehaus.plexus.util.StringUtils;
 
 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.Locale;
 
@@ -78,7 +79,7 @@ public class FileFormatter
         String lineEndingChars = AssemblyFileUtils.getLineEndingCharacters( lineEnding );
         if ( lineEndingChars != null )
         {
-            result = formatLineEndings( lineEndingChars, result, tempRoot );
+            result = formatLineEndings( lineEndingChars, result, tempRoot, encoding );
         }
 
         return result;
@@ -108,13 +109,22 @@ public class FileFormatter
         }
     }
 
-    private File formatLineEndings( String lineEndingChars, File source, File tempRoot )
+    private File formatLineEndings( String lineEndingChars, File source, File tempRoot, String encoding )
         throws AssemblyFormattingException
     {
         Reader contentReader = null;
         try
         {
-            contentReader = new FileReader( source );
+            if ( encoding == null )
+            {
+                // Use default encoding
+                contentReader = new InputStreamReader( new FileInputStream( source ) );
+            }
+            else
+            {
+                //  MASSEMBLY-371
+                contentReader = new InputStreamReader( new FileInputStream( source ), encoding );
+            }
 
             File target = FileUtils.createTempFile( source.getName() + ".", ".formatted", tempRoot );