You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@ant.apache.org by bo...@apache.org on 2014/01/01 16:04:30 UTC
svn commit: r1554629 - in /ant/core/trunk: WHATSNEW
src/main/org/apache/tools/ant/taskdefs/Concat.java
src/tests/antunit/taskdefs/concat-test.xml
Author: bodewig
Date: Wed Jan 1 15:04:29 2014
New Revision: 1554629
URL: http://svn.apache.org/r1554629
Log:
fixlastline didn't work when the no-arg read() method of MultiReader was used. PR 54672
Modified:
ant/core/trunk/WHATSNEW
ant/core/trunk/src/main/org/apache/tools/ant/taskdefs/Concat.java
ant/core/trunk/src/tests/antunit/taskdefs/concat-test.xml
Modified: ant/core/trunk/WHATSNEW
URL: http://svn.apache.org/viewvc/ant/core/trunk/WHATSNEW?rev=1554629&r1=1554628&r2=1554629&view=diff
==============================================================================
--- ant/core/trunk/WHATSNEW (original)
+++ ant/core/trunk/WHATSNEW Wed Jan 1 15:04:29 2014
@@ -32,6 +32,10 @@ Fixed bugs:
directory of the given jarfile.
Bugzilla Report 55049
+ * <concat>'s fixlastline="true" didn't work when using certain filter
+ readers.
+ Bugzilla Report 54672
+
Other changes:
--------------
Modified: ant/core/trunk/src/main/org/apache/tools/ant/taskdefs/Concat.java
URL: http://svn.apache.org/viewvc/ant/core/trunk/src/main/org/apache/tools/ant/taskdefs/Concat.java?rev=1554629&r1=1554628&r2=1554629&view=diff
==============================================================================
--- ant/core/trunk/src/main/org/apache/tools/ant/taskdefs/Concat.java (original)
+++ ant/core/trunk/src/main/org/apache/tools/ant/taskdefs/Concat.java Wed Jan 1 15:04:29 2014
@@ -255,12 +255,12 @@ public class Concat extends Task impleme
*/
public int read() throws IOException {
if (needAddSeparator) {
- int ret = eolString.charAt(lastPos++);
if (lastPos >= eolString.length()) {
lastPos = 0;
needAddSeparator = false;
+ } else {
+ return eolString.charAt(lastPos++);
}
- return ret;
}
while (getReader() != null) {
int ch = getReader().read();
@@ -268,7 +268,8 @@ public class Concat extends Task impleme
nextReader();
if (isFixLastLine() && isMissingEndOfLine()) {
needAddSeparator = true;
- lastPos = 0;
+ lastPos = 1;
+ return eolString.charAt(0);
}
} else {
addLastChar((char) ch);
Modified: ant/core/trunk/src/tests/antunit/taskdefs/concat-test.xml
URL: http://svn.apache.org/viewvc/ant/core/trunk/src/tests/antunit/taskdefs/concat-test.xml?rev=1554629&r1=1554628&r2=1554629&view=diff
==============================================================================
--- ant/core/trunk/src/tests/antunit/taskdefs/concat-test.xml (original)
+++ ant/core/trunk/src/tests/antunit/taskdefs/concat-test.xml Wed Jan 1 15:04:29 2014
@@ -76,6 +76,48 @@
</au:assertTrue>
</target>
+ <target name="-fixlastline-setup">
+ <mkdir dir="${input}"/>
+ <mkdir dir="${output}"/>
+ <echo file="${input}/1">1</echo>
+ <echo file="${input}/2">2</echo>
+ </target>
+
+ <target name="testFixLastLineActuallyFixes" depends="-fixlastline-setup">
+ <au:assertTrue>
+ <resourcesmatch>
+ <string>1${line.separator}2${line.separator}</string>
+ <concat fixlastline="true">
+ <filelist dir="${input}">
+ <file name="1"/>
+ <file name="2"/>
+ </filelist>
+ </concat>
+ </resourcesmatch>
+ </au:assertTrue>
+ </target>
+
+ <target name="testFixLastLineActuallyFixesWithFilterChain"
+ depends="-fixlastline-setup"
+ description="https://issues.apache.org/bugzilla/show_bug.cgi?id=54672">
+ <au:assertTrue>
+ <resourcesmatch>
+ <string>1${line.separator}2${line.separator}</string>
+ <concat fixlastline="true">
+ <filelist dir="${input}">
+ <file name="1"/>
+ <file name="2"/>
+ </filelist>
+ <filterchain>
+ <tokenfilter>
+ <ignoreblank/>
+ </tokenfilter>
+ </filterchain>
+ </concat>
+ </resourcesmatch>
+ </au:assertTrue>
+ </target>
+
<target name="testIgnoreEmptyFalseFileIsCreated">
<mkdir dir="${input}" />
<mkdir dir="${output}" />