You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by kr...@apache.org on 2014/11/09 12:18:18 UTC
svn commit: r1637652 - in /maven/plugins/trunk/maven-assembly-plugin/src:
main/java/org/apache/maven/plugin/assembly/format/
main/java/org/apache/maven/plugin/assembly/utils/
test/java/org/apache/maven/plugin/assembly/format/
Author: krosenvold
Date: Sun Nov 9 11:18:17 2014
New Revision: 1637652
URL: http://svn.apache.org/r1637652
Log:
[MASSEMBLY-729] Lineendings also without filtering
Modified:
maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/format/ReaderFormatter.java
maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/utils/LineEndingsUtils.java
maven/plugins/trunk/maven-assembly-plugin/src/test/java/org/apache/maven/plugin/assembly/format/ReaderFormatterTest.java
Modified: maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/format/ReaderFormatter.java
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/format/ReaderFormatter.java?rev=1637652&r1=1637651&r2=1637652&view=diff
==============================================================================
--- maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/format/ReaderFormatter.java (original)
+++ maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/format/ReaderFormatter.java Sun Nov 9 11:18:17 2014
@@ -42,7 +42,7 @@ public class ReaderFormatter
{
private static Reader createReaderFilter( @Nonnull Reader source, String escapeString, List<String> delimiters,
AssemblerConfigurationSource configSource, boolean isPropertiesFile )
- throws AssemblyFormattingException
+ throws IOException
{
try
{
@@ -82,7 +82,7 @@ public class ReaderFormatter
}
catch ( MavenFilteringException e )
{
- throw new AssemblyFormattingException( "Error filtering file '" + source + "': " + e.getMessage(), e );
+ throw new IOException( "Error filtering file '" + source + "': " + e.getMessage(), e );
}
}
@@ -92,53 +92,36 @@ public class ReaderFormatter
final boolean isFiltered, String fileSetLineEnding )
throws AssemblyFormattingException
{
- final String lineEndingHint = fileSetLineEnding;
+ final LineEndings lineEndingToUse = LineEndingsUtils.getLineEnding( fileSetLineEnding );
- String lineEnding = LineEndingsUtils.getLineEndingCharacters( lineEndingHint );
+ final boolean transformLineEndings = !LineEndings.keep.equals( lineEndingToUse );
- if ( ( lineEnding != null ) || isFiltered )
+ if ( transformLineEndings || isFiltered )
{
return new InputStreamTransformer()
{
public InputStream transform( PlexusIoResource plexusIoResource, InputStream inputStream )
throws IOException
{
+ InputStream result = inputStream;
if ( isFiltered )
{
final String encoding = configSource.getEncoding();
- Reader source = encoding != null
- ? new InputStreamReader( inputStream, encoding )
+ Reader source = encoding != null ? new InputStreamReader( inputStream, encoding )
: new InputStreamReader( inputStream ); // wtf platform encoding ? TODO: Fix this
- try
- {
- boolean isPropertyFile = AssemblyFileUtils.isPropertyFile( plexusIoResource.getName() );
- Reader filtered =
- createReaderFilter( source, configSource.getEscapeString(), configSource.getDelimiters(),
- configSource, isPropertyFile );
- final ReaderInputStream readerInputStream = encoding != null
- ? new ReaderInputStream( filtered, encoding )
- : new ReaderInputStream( filtered );
-
- LineEndings lineEnding = LineEndingsUtils.getLineEnding( lineEndingHint );
- if ( !LineEndings.keep.equals( lineEnding ) )
- {
- return LineEndingsUtils.lineEndingConverter( readerInputStream, lineEnding );
-
- }
- return readerInputStream;
-
- }
- catch ( AssemblyFormattingException e )
- {
- throw new IOException( e.getMessage() );
- }
-
+ boolean isPropertyFile = AssemblyFileUtils.isPropertyFile( plexusIoResource.getName() );
+ Reader filtered =
+ createReaderFilter( source, configSource.getEscapeString(), configSource.getDelimiters(),
+ configSource, isPropertyFile );
+ result = encoding != null ? new ReaderInputStream( filtered, encoding )
+ : new ReaderInputStream( filtered );
}
- else
+ if ( transformLineEndings )
{
- return inputStream;
+ result = LineEndingsUtils.lineEndingConverter( result, lineEndingToUse );
}
+ return result;
}
};
}
Modified: maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/utils/LineEndingsUtils.java
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/utils/LineEndingsUtils.java?rev=1637652&r1=1637651&r2=1637652&view=diff
==============================================================================
--- maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/utils/LineEndingsUtils.java (original)
+++ maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/utils/LineEndingsUtils.java Sun Nov 9 11:18:17 2014
@@ -164,7 +164,7 @@ public final class LineEndingsUtils
: lineEndings.isCrLF() ? new WindowsLineFeedInputStream( in, false ) : in;
}
- public static LineEndings getLineEnding( @Nullable String lineEnding )
+ public static @Nonnull LineEndings getLineEnding( @Nullable String lineEnding )
throws AssemblyFormattingException
{
LineEndings result = LineEndings.keep;
Modified: maven/plugins/trunk/maven-assembly-plugin/src/test/java/org/apache/maven/plugin/assembly/format/ReaderFormatterTest.java
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-assembly-plugin/src/test/java/org/apache/maven/plugin/assembly/format/ReaderFormatterTest.java?rev=1637652&r1=1637651&r2=1637652&view=diff
==============================================================================
--- maven/plugins/trunk/maven-assembly-plugin/src/test/java/org/apache/maven/plugin/assembly/format/ReaderFormatterTest.java (original)
+++ maven/plugins/trunk/maven-assembly-plugin/src/test/java/org/apache/maven/plugin/assembly/format/ReaderFormatterTest.java Sun Nov 9 11:18:17 2014
@@ -52,6 +52,16 @@ public class ReaderFormatterTest
}
@Test
+ public void lineDosFeed_withoutFiltering()
+ throws IOException, AssemblyFormattingException
+ {
+ final PojoConfigSource cfg = getPojoConfigSource();
+ InputStreamTransformer fileSetTransformers = getFileSetTransformers( cfg, false, "dos" );
+ InputStream fud = fileSetTransformers.transform( dummyResource(), payload( "This is a\ntest." ) );
+ assertEquals( "This is a\r\ntest.", readResultStream( fud ) );
+ }
+
+ @Test
public void lineUnixFeedWithInterpolation()
throws IOException, AssemblyFormattingException
{