mbenson 2004/06/23 12:30:14
Added: src/etc/testcases/taskdefs/exec Tag: ANT_16_BRANCH apply.xml
parrot.sh
src/etc/testcases/taskdefs/exec/expected Tag: ANT_16_BRANCH
utf-8
src/etc/testcases/taskdefs/exec/input Tag: ANT_16_BRANCH
iso8859-1
src/etc/testcases/types Tag: ANT_16_BRANCH redirector.xml
src/main/org/apache/tools/ant/types Tag: ANT_16_BRANCH
RedirectorElement.java
src/main/org/apache/tools/ant/util Tag: ANT_16_BRANCH
ConcatFileInputStream.java LeadPipeInputStream.java
OutputStreamFunneler.java ReaderInputStream.java
src/testcases/org/apache/tools/ant/taskdefs Tag:
ANT_16_BRANCH ExecuteOnTest.java
src/testcases/org/apache/tools/ant/types Tag: ANT_16_BRANCH
RedirectorElementTest.java
Log:
New files for <redirector> merge.
Revision Changes Path
No revision
No revision
1.3.2.1 +0 -0 ant/src/etc/testcases/taskdefs/exec/apply.xml
Index: apply.xml
===================================================================
RCS file: /home/cvs/ant/src/etc/testcases/taskdefs/exec/apply.xml,v
retrieving revision 1.3
retrieving revision 1.3.2.1
diff -u -r1.3 -r1.3.2.1
1.1.2.1 +0 -0 ant/src/etc/testcases/taskdefs/exec/parrot.sh
Index: parrot.sh
===================================================================
RCS file: /home/cvs/ant/src/etc/testcases/taskdefs/exec/parrot.sh,v
retrieving revision 1.1
retrieving revision 1.1.2.1
diff -u -r1.1 -r1.1.2.1
No revision
No revision
1.1.2.1 +0 -0 ant/src/etc/testcases/taskdefs/exec/expected/utf-8
<<Binary file>>
No revision
No revision
1.1.2.1 +0 -0 ant/src/etc/testcases/taskdefs/exec/input/iso8859-1
<<Binary file>>
No revision
No revision
1.1.2.1 +0 -0 ant/src/etc/testcases/types/redirector.xml
Index: redirector.xml
===================================================================
RCS file: /home/cvs/ant/src/etc/testcases/types/redirector.xml,v
retrieving revision 1.1
retrieving revision 1.1.2.1
diff -u -r1.1 -r1.1.2.1
No revision
No revision
1.2.2.1 +0 -0
ant/src/main/org/apache/tools/ant/types/RedirectorElement.java
Index: RedirectorElement.java
===================================================================
RCS file:
/home/cvs/ant/src/main/org/apache/tools/ant/types/RedirectorElement.java,v
retrieving revision 1.2
retrieving revision 1.2.2.1
diff -u -r1.2 -r1.2.2.1
No revision
No revision
1.1.2.1 +0 -0
ant/src/main/org/apache/tools/ant/util/ConcatFileInputStream.java
Index: ConcatFileInputStream.java
===================================================================
RCS file:
/home/cvs/ant/src/main/org/apache/tools/ant/util/ConcatFileInputStream.java,v
retrieving revision 1.1
retrieving revision 1.1.2.1
diff -u -r1.1 -r1.1.2.1
1.1.2.1 +48 -4
ant/src/main/org/apache/tools/ant/util/LeadPipeInputStream.java
Index: LeadPipeInputStream.java
===================================================================
RCS file:
/home/cvs/ant/src/main/org/apache/tools/ant/util/LeadPipeInputStream.java,v
retrieving revision 1.1
retrieving revision 1.1.2.1
diff -u -r1.1 -r1.1.2.1
--- LeadPipeInputStream.java 27 Mar 2004 21:22:58 -0000 1.1
+++ LeadPipeInputStream.java 23 Jun 2004 19:30:14 -0000 1.1.2.1
@@ -27,6 +27,7 @@
/**
* Special <CODE>PipedInputStream</CODE> that will not die
* when the writing <CODE>Thread</CODE> is no longer alive.
+ * @since Ant 1.6.2
*/
public class LeadPipeInputStream extends PipedInputStream {
private Task managingTask;
@@ -39,14 +40,36 @@
}
/**
+ * Construct a new <CODE>LeadPipeInputStream</CODE>
+ * with the specified buffer size.
+ * @param size the size of the circular buffer.
+ */
+ public LeadPipeInputStream(int size) {
+ super();
+ setBufferSize(size);
+ }
+
+ /**
* Construct a new <CODE>LeadPipeInputStream</CODE> to pull
* from the specified <CODE>PipedOutputStream</CODE>.
- * @param src the <CODE>PipedOutputStream</CODE> source.
+ * @param src the <CODE>PipedOutputStream</CODE> source.
*/
public LeadPipeInputStream(PipedOutputStream src) throws IOException {
super(src);
}
+ /**
+ * Construct a new <CODE>LeadPipeInputStream</CODE> to pull
+ * from the specified <CODE>PipedOutputStream</CODE>, using a
+ * circular buffer of the specified size.
+ * @param src the <CODE>PipedOutputStream</CODE> source.
+ * @param size the size of the circular buffer.
+ */
+ public LeadPipeInputStream(PipedOutputStream src, int size) throws
IOException {
+ super(src);
+ setBufferSize(size);
+ }
+
//inherit doc
public synchronized int read() throws IOException {
int result = -1;
@@ -54,9 +77,8 @@
result = super.read();
} catch (IOException eyeOhEx) {
if ("write end dead".equalsIgnoreCase(eyeOhEx.getMessage())) {
- if (super.in > 0 && super.out < super.buffer.length
- && super.out > super.in) {
- result = super.buffer[super.out++] & 0xFF;
+ if (in > 0 && out < buffer.length && out > in) {
+ result = buffer[out++] & 0xFF;
}
} else {
log("error at LeadPipeInputStream.read(): "
@@ -64,6 +86,28 @@
}
}
return result;
+ }
+
+ /**
+ * Set the size of the buffer.
+ * @param size the new buffer size. Ignored if <= current size.
+ */
+ public synchronized void setBufferSize(int size) {
+ if (size > buffer.length) {
+ byte[] newBuffer = new byte[size];
+ if (in >= 0) {
+ if (in > out) {
+ System.arraycopy(buffer, out, newBuffer, out, in - out);
+ } else {
+ int outlen = buffer.length - out;
+ System.arraycopy(buffer, out, newBuffer, 0, outlen);
+ System.arraycopy(buffer, 0, newBuffer, outlen, in);
+ in+= outlen;
+ out = 0;
+ }
+ }
+ buffer = newBuffer;
+ }
}
/**
1.1.2.1 +0 -0
ant/src/main/org/apache/tools/ant/util/OutputStreamFunneler.java
Index: OutputStreamFunneler.java
===================================================================
RCS file:
/home/cvs/ant/src/main/org/apache/tools/ant/util/OutputStreamFunneler.java,v
retrieving revision 1.1
retrieving revision 1.1.2.1
diff -u -r1.1 -r1.1.2.1
1.2.2.1 +0 -0
ant/src/main/org/apache/tools/ant/util/ReaderInputStream.java
Index: ReaderInputStream.java
===================================================================
RCS file:
/home/cvs/ant/src/main/org/apache/tools/ant/util/ReaderInputStream.java,v
retrieving revision 1.2
retrieving revision 1.2.2.1
diff -u -r1.2 -r1.2.2.1
No revision
No revision
1.6.2.1 +0 -0
ant/src/testcases/org/apache/tools/ant/taskdefs/ExecuteOnTest.java
Index: ExecuteOnTest.java
===================================================================
RCS file:
/home/cvs/ant/src/testcases/org/apache/tools/ant/taskdefs/ExecuteOnTest.java,v
retrieving revision 1.6
retrieving revision 1.6.2.1
diff -u -r1.6 -r1.6.2.1
No revision
No revision
1.1.2.1 +0 -0
ant/src/testcases/org/apache/tools/ant/types/RedirectorElementTest.java
Index: RedirectorElementTest.java
===================================================================
RCS file:
/home/cvs/ant/src/testcases/org/apache/tools/ant/types/RedirectorElementTest.java,v
retrieving revision 1.1
retrieving revision 1.1.2.1
diff -u -r1.1 -r1.1.2.1
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]