diff --git a/src/main/org/apache/tools/ant/taskdefs/CVSPass.java b/src/main/org/apache/tools/ant/taskdefs/CVSPass.java index 9bc9563ee..25c3752b9 100644 --- a/src/main/org/apache/tools/ant/taskdefs/CVSPass.java +++ b/src/main/org/apache/tools/ant/taskdefs/CVSPass.java @@ -19,14 +19,15 @@ package org.apache.tools.ant.taskdefs; import java.io.BufferedReader; +import java.io.BufferedWriter; import java.io.File; import java.io.FileReader; import java.io.FileWriter; import java.io.IOException; -import java.io.PrintWriter; import org.apache.tools.ant.BuildException; import org.apache.tools.ant.Project; import org.apache.tools.ant.Task; +import org.apache.tools.ant.util.FileUtils; import org.apache.tools.ant.util.StringUtils; /** @@ -93,7 +94,7 @@ public class CVSPass extends Task { log("passFile: " + passFile, Project.MSG_DEBUG); BufferedReader reader = null; - PrintWriter writer = null; + BufferedWriter writer = null; try { StringBuffer buf = new StringBuffer(); @@ -114,9 +115,10 @@ public class CVSPass extends Task { log("Writing -> " + pwdfile , Project.MSG_DEBUG); - writer = new PrintWriter(new FileWriter(passFile)); + writer = new BufferedWriter(new FileWriter(passFile)); - writer.println(pwdfile); + writer.write(pwdfile); + writer.newLine(); } catch (IOException e) { throw new BuildException(e); } finally { @@ -127,9 +129,7 @@ public class CVSPass extends Task { // ignore } } - if (writer != null) { - writer.close(); - } + FileUtils.close(writer); } } diff --git a/src/main/org/apache/tools/ant/taskdefs/Execute.java b/src/main/org/apache/tools/ant/taskdefs/Execute.java index bccf9985c..1f497b9e9 100644 --- a/src/main/org/apache/tools/ant/taskdefs/Execute.java +++ b/src/main/org/apache/tools/ant/taskdefs/Execute.java @@ -19,12 +19,12 @@ package org.apache.tools.ant.taskdefs; import java.io.BufferedReader; +import java.io.BufferedWriter; import java.io.ByteArrayOutputStream; import java.io.File; import java.io.FileWriter; import java.io.IOException; import java.io.OutputStream; -import java.io.PrintWriter; import java.io.StringReader; import java.util.HashMap; import java.util.Iterator; @@ -1177,9 +1177,9 @@ public class Execute { private File createCommandFile(String[] cmd, String[] env) throws IOException { File script = FILE_UTILS.createTempFile("ANT", ".COM", null, true, true); - PrintWriter out = null; + BufferedWriter out = null; try { - out = new PrintWriter(new FileWriter(script)); + out = new BufferedWriter(new FileWriter(script)); // add the environment as logicals to the DCL script if (env != null) { @@ -1187,18 +1187,20 @@ public class Execute { for (int i = 0; i < env.length; i++) { eqIndex = env[i].indexOf('='); if (eqIndex != -1) { - out.print("$ DEFINE/NOLOG "); - out.print(env[i].substring(0, eqIndex)); - out.print(" \""); - out.print(env[i].substring(eqIndex + 1)); - out.println('\"'); + out.write("$ DEFINE/NOLOG "); + out.write(env[i].substring(0, eqIndex)); + out.write(" \""); + out.write(env[i].substring(eqIndex + 1)); + out.write('\"'); + out.newLine(); } } } - out.print("$ " + cmd[0]); + out.write("$ " + cmd[0]); for (int i = 1; i < cmd.length; i++) { - out.println(" -"); - out.print(cmd[i]); + out.write(" -"); + out.newLine(); + out.write(cmd[i]); } } finally { if (out != null) { diff --git a/src/main/org/apache/tools/ant/taskdefs/Javadoc.java b/src/main/org/apache/tools/ant/taskdefs/Javadoc.java index 32e6d3544..24f15937a 100644 --- a/src/main/org/apache/tools/ant/taskdefs/Javadoc.java +++ b/src/main/org/apache/tools/ant/taskdefs/Javadoc.java @@ -21,7 +21,7 @@ import java.io.File; import java.io.FileWriter; import java.io.FilenameFilter; import java.io.IOException; -import java.io.PrintWriter; +import java.io.BufferedWriter; import java.io.BufferedReader; import java.io.FileReader; import java.net.MalformedURLException; @@ -1706,7 +1706,7 @@ public class Javadoc extends Task { } File tmpList = null; - PrintWriter srcListWriter = null; + BufferedWriter srcListWriter = null; try { /** @@ -1717,7 +1717,7 @@ public class Javadoc extends Task { tmpList = FILE_UTILS.createTempFile("javadoc", "", null, true, true); toExecute.createArgument() .setValue("@" + tmpList.getAbsolutePath()); - srcListWriter = new PrintWriter( + srcListWriter = new BufferedWriter( new FileWriter(tmpList.getAbsolutePath(), true)); } @@ -1730,9 +1730,7 @@ public class Javadoc extends Task { throw new BuildException("Error creating temporary file", e, getLocation()); } finally { - if (srcListWriter != null) { - srcListWriter.close(); - } + FileUtils.close(srcListWriter); } if (packageList != null) { @@ -1898,7 +1896,7 @@ public class Javadoc extends Task { private void writeExternalArgs(Commandline toExecute) { // If using an external file, write the command line options to it File optionsTmpFile = null; - PrintWriter optionsListWriter = null; + BufferedWriter optionsListWriter = null; try { optionsTmpFile = FILE_UTILS.createTempFile( "javadocOptions", "", null, true, true); @@ -1906,7 +1904,7 @@ public class Javadoc extends Task { toExecute.clearArgs(); toExecute.createArgument().setValue( "@" + optionsTmpFile.getAbsolutePath()); - optionsListWriter = new PrintWriter( + optionsListWriter = new BufferedWriter( new FileWriter(optionsTmpFile.getAbsolutePath(), true)); for (int i = 0; i < listOpt.length; i++) { String string = listOpt[i]; @@ -1914,10 +1912,11 @@ public class Javadoc extends Task { toExecute.createArgument().setValue(string); } else { if (string.startsWith("-")) { - optionsListWriter.print(string); - optionsListWriter.print(" "); + optionsListWriter.write(string); + optionsListWriter.write(" "); } else { - optionsListWriter.println(quoteString(string)); + optionsListWriter.write(quoteString(string)); + optionsListWriter.newLine(); } } } @@ -2170,13 +2169,14 @@ public class Javadoc extends Task { Vector sourceFilesToDoc, boolean useExternalFile, File tmpList, - PrintWriter srcListWriter) + BufferedWriter srcListWriter) throws IOException { Enumeration e = packagesToDoc.elements(); while (e.hasMoreElements()) { String packageName = (String) e.nextElement(); if (useExternalFile) { - srcListWriter.println(packageName); + srcListWriter.write(packageName); + srcListWriter.newLine(); } else { toExecute.createArgument().setValue(packageName); } @@ -2194,10 +2194,11 @@ public class Javadoc extends Task { if (File.separatorChar == '\\') { name = sourceFileName.replace(File.separatorChar, '/'); } - srcListWriter.println("\"" + name + "\""); + srcListWriter.write("\"" + name + "\""); } else { - srcListWriter.println(sourceFileName); + srcListWriter.write(sourceFileName); } + srcListWriter.newLine(); } else { toExecute.createArgument().setValue(sourceFileName); } diff --git a/src/main/org/apache/tools/ant/taskdefs/Jikes.java b/src/main/org/apache/tools/ant/taskdefs/Jikes.java index 3ed088318..a25a8a722 100644 --- a/src/main/org/apache/tools/ant/taskdefs/Jikes.java +++ b/src/main/org/apache/tools/ant/taskdefs/Jikes.java @@ -17,10 +17,10 @@ */ package org.apache.tools.ant.taskdefs; +import java.io.BufferedWriter; import java.io.File; import java.io.FileWriter; import java.io.IOException; -import java.io.PrintWriter; import org.apache.tools.ant.BuildException; import org.apache.tools.ant.Project; @@ -83,13 +83,14 @@ public class Jikes { if (myos.toLowerCase().indexOf("windows") >= 0 && args.length > MAX_FILES_ON_COMMAND_LINE) { - PrintWriter out = null; + BufferedWriter out = null; try { tmpFile = FileUtils.getFileUtils().createTempFile("jikes", "tmp", null, false, true); - out = new PrintWriter(new FileWriter(tmpFile)); + out = new BufferedWriter(new FileWriter(tmpFile)); for (int i = 0; i < args.length; i++) { - out.println(args[i]); + out.write(args[i]); + out.newLine(); } out.flush(); commandArray = new String[] {command, diff --git a/src/main/org/apache/tools/ant/taskdefs/compilers/DefaultCompilerAdapter.java b/src/main/org/apache/tools/ant/taskdefs/compilers/DefaultCompilerAdapter.java index 46674e49f..c587f90be 100644 --- a/src/main/org/apache/tools/ant/taskdefs/compilers/DefaultCompilerAdapter.java +++ b/src/main/org/apache/tools/ant/taskdefs/compilers/DefaultCompilerAdapter.java @@ -21,10 +21,10 @@ package org.apache.tools.ant.taskdefs.compilers; //Java5 style //import static org.apache.tools.ant.util.StringUtils.LINE_SEP; +import java.io.BufferedWriter; import java.io.File; import java.io.FileWriter; import java.io.IOException; -import java.io.PrintWriter; import org.apache.tools.ant.BuildException; import org.apache.tools.ant.Location; import org.apache.tools.ant.Project; @@ -467,18 +467,19 @@ public abstract class DefaultCompilerAdapter implements CompilerAdapter { */ if (Commandline.toString(args).length() > COMMAND_LINE_LIMIT && firstFileName >= 0) { - PrintWriter out = null; + BufferedWriter out = null; try { tmpFile = FILE_UTILS.createTempFile( "files", "", getJavac().getTempdir(), true, true); - out = new PrintWriter(new FileWriter(tmpFile)); + out = new BufferedWriter(new FileWriter(tmpFile)); for (int i = firstFileName; i < args.length; i++) { if (quoteFiles && args[i].indexOf(" ") > -1) { args[i] = args[i].replace(File.separatorChar, '/'); - out.println("\"" + args[i] + "\""); + out.write("\"" + args[i] + "\""); } else { - out.println(args[i]); + out.write(args[i]); } + out.newLine(); } out.flush(); commandArray = new String[firstFileName + 1]; diff --git a/src/main/org/apache/tools/ant/taskdefs/email/Message.java b/src/main/org/apache/tools/ant/taskdefs/email/Message.java index 391387bd7..ee905f42c 100644 --- a/src/main/org/apache/tools/ant/taskdefs/email/Message.java +++ b/src/main/org/apache/tools/ant/taskdefs/email/Message.java @@ -18,12 +18,12 @@ package org.apache.tools.ant.taskdefs.email; import java.io.BufferedReader; +import java.io.BufferedWriter; import java.io.File; import java.io.FileReader; import java.io.IOException; import java.io.OutputStreamWriter; import java.io.PrintStream; -import java.io.PrintWriter; import org.apache.tools.ant.ProjectComponent; @@ -114,10 +114,10 @@ public class Message extends ProjectComponent { public void print(PrintStream ps) throws IOException { // We need character encoding aware printing here. - // So, using PrintWriter over OutputStreamWriter instead of PrintStream - PrintWriter out - = charset != null ? new PrintWriter(new OutputStreamWriter(ps, charset)) - : new PrintWriter(ps); + // So, using BufferedWriter over OutputStreamWriter instead of PrintStream + BufferedWriter out + = charset != null ? new BufferedWriter(new OutputStreamWriter(ps, charset)) + : new BufferedWriter(new OutputStreamWriter(ps)); if (messageSource != null) { // Read message from a file FileReader freader = new FileReader(messageSource); @@ -126,13 +126,15 @@ public class Message extends ProjectComponent { BufferedReader in = new BufferedReader(freader); String line = null; while ((line = in.readLine()) != null) { - out.println(getProject().replaceProperties(line)); + out.write(getProject().replaceProperties(line)); + out.newLine(); } } finally { freader.close(); } } else { - out.println(getProject().replaceProperties(buffer.substring(0))); + out.write(getProject().replaceProperties(buffer.substring(0))); + out.newLine(); } out.flush(); } diff --git a/src/main/org/apache/tools/ant/taskdefs/optional/Cab.java b/src/main/org/apache/tools/ant/taskdefs/optional/Cab.java index 4bfb05497..6f063c181 100644 --- a/src/main/org/apache/tools/ant/taskdefs/optional/Cab.java +++ b/src/main/org/apache/tools/ant/taskdefs/optional/Cab.java @@ -18,11 +18,11 @@ package org.apache.tools.ant.taskdefs.optional; +import java.io.BufferedWriter; import java.io.File; -import java.io.FileOutputStream; +import java.io.FileWriter; import java.io.IOException; import java.io.OutputStream; -import java.io.PrintWriter; import java.util.Enumeration; import java.util.Vector; import org.apache.tools.ant.BuildException; @@ -179,11 +179,12 @@ public class Cab extends MatchingTask { throws IOException { File listFile = FILE_UTILS.createTempFile("ant", "", null, true, true); - PrintWriter writer = new PrintWriter(new FileOutputStream(listFile)); + BufferedWriter writer = new BufferedWriter(new FileWriter(listFile)); int size = files.size(); for (int i = 0; i < size; i++) { - writer.println('\"' + files.elementAt(i).toString() + '\"'); + writer.write('\"' + files.elementAt(i).toString() + '\"'); + writer.newLine(); } writer.close(); diff --git a/src/main/org/apache/tools/ant/taskdefs/optional/ReplaceRegExp.java b/src/main/org/apache/tools/ant/taskdefs/optional/ReplaceRegExp.java index 2895204fc..7ef6d8944 100644 --- a/src/main/org/apache/tools/ant/taskdefs/optional/ReplaceRegExp.java +++ b/src/main/org/apache/tools/ant/taskdefs/optional/ReplaceRegExp.java @@ -27,7 +27,6 @@ import java.io.FileWriter; import java.io.InputStreamReader; import java.io.IOException; import java.io.OutputStreamWriter; -import java.io.PrintWriter; import java.io.Reader; import java.io.Writer; import java.util.Iterator; @@ -368,7 +367,6 @@ public class ReplaceRegExp extends Task { BufferedReader br = new BufferedReader(r); BufferedWriter bw = new BufferedWriter(w); - PrintWriter pw = new PrintWriter(bw); boolean changes = false; @@ -398,8 +396,8 @@ public class ReplaceRegExp extends Task { changes = true; } - pw.print(res); - pw.print('\r'); + bw.write(res); + bw.write('\r'); linebuf = new StringBuffer(); // hasCR is still true (for the second one) @@ -416,12 +414,12 @@ public class ReplaceRegExp extends Task { changes = true; } - pw.print(res); + bw.write(res); if (hasCR) { - pw.print('\r'); + bw.write('\r'); hasCR = false; } - pw.print('\n'); + bw.write('\n'); linebuf = new StringBuffer(); } else { // any other char @@ -434,9 +432,9 @@ public class ReplaceRegExp extends Task { changes = true; } - pw.print(res); + bw.write(res); if (hasCR) { - pw.print('\r'); + bw.write('\r'); hasCR = false; } @@ -449,7 +447,7 @@ public class ReplaceRegExp extends Task { } } while (c >= 0); - pw.flush(); + bw.flush(); } else { String buf = FileUtils.safeReadFully(br); @@ -459,8 +457,8 @@ public class ReplaceRegExp extends Task { changes = true; } - pw.print(res); - pw.flush(); + bw.write(res); + bw.flush(); } r.close(); diff --git a/src/main/org/apache/tools/ant/taskdefs/optional/depend/Depend.java b/src/main/org/apache/tools/ant/taskdefs/optional/depend/Depend.java index b0411bf0e..e52304ae3 100644 --- a/src/main/org/apache/tools/ant/taskdefs/optional/depend/Depend.java +++ b/src/main/org/apache/tools/ant/taskdefs/optional/depend/Depend.java @@ -18,11 +18,11 @@ package org.apache.tools.ant.taskdefs.optional.depend; import java.io.BufferedReader; +import java.io.BufferedWriter; import java.io.File; import java.io.FileReader; import java.io.FileWriter; import java.io.IOException; -import java.io.PrintWriter; import java.net.URL; import java.util.Enumeration; import java.util.Hashtable; @@ -216,23 +216,25 @@ public class Depend extends MatchingTask { private void writeCachedDependencies(Hashtable dependencyMap) throws IOException { if (cache != null) { - PrintWriter pw = null; + BufferedWriter pw = null; try { cache.mkdirs(); File depFile = new File(cache, CACHE_FILE_NAME); - pw = new PrintWriter(new FileWriter(depFile)); + pw = new BufferedWriter(new FileWriter(depFile)); Enumeration e = dependencyMap.keys(); while (e.hasMoreElements()) { String className = (String) e.nextElement(); - pw.println(CLASSNAME_PREPEND + className); + pw.write(CLASSNAME_PREPEND + className); + pw.newLine(); Vector dependencyList = (Vector) dependencyMap.get(className); int size = dependencyList.size(); for (int x = 0; x < size; x++) { - pw.println(dependencyList.elementAt(x)); + pw.write(String.valueOf(dependencyList.elementAt(x))); + pw.newLine(); } } } finally { diff --git a/src/main/org/apache/tools/ant/taskdefs/optional/junit/BriefJUnitResultFormatter.java b/src/main/org/apache/tools/ant/taskdefs/optional/junit/BriefJUnitResultFormatter.java index 32992278f..5241e9538 100644 --- a/src/main/org/apache/tools/ant/taskdefs/optional/junit/BriefJUnitResultFormatter.java +++ b/src/main/org/apache/tools/ant/taskdefs/optional/junit/BriefJUnitResultFormatter.java @@ -18,14 +18,16 @@ package org.apache.tools.ant.taskdefs.optional.junit; +import java.io.BufferedWriter; +import java.io.IOException; import java.io.OutputStream; -import java.io.PrintWriter; import java.io.StringWriter; import java.text.NumberFormat; import junit.framework.AssertionFailedError; import junit.framework.Test; +import org.apache.tools.ant.BuildException; import org.apache.tools.ant.util.FileUtils; import org.apache.tools.ant.util.StringUtils; @@ -48,7 +50,7 @@ public class BriefJUnitResultFormatter implements JUnitResultFormatter { /** * Used for writing the results. */ - private PrintWriter output; + private BufferedWriter output; /** * Used as part of formatting the results. @@ -58,7 +60,7 @@ public class BriefJUnitResultFormatter implements JUnitResultFormatter { /** * Used for writing formatted results to. */ - private PrintWriter resultWriter; + private BufferedWriter resultWriter; /** * Formatter for timings. @@ -80,7 +82,7 @@ public class BriefJUnitResultFormatter implements JUnitResultFormatter { */ public BriefJUnitResultFormatter() { results = new StringWriter(); - resultWriter = new PrintWriter(results); + resultWriter = new BufferedWriter(results); } /** @@ -89,7 +91,7 @@ public class BriefJUnitResultFormatter implements JUnitResultFormatter { */ public void setOutput(OutputStream out) { this.out = out; - output = new PrintWriter(out); + output = new BufferedWriter(new java.io.OutputStreamWriter(out)); } /** @@ -120,8 +122,12 @@ public class BriefJUnitResultFormatter implements JUnitResultFormatter { StringBuffer sb = new StringBuffer("Testsuite: "); sb.append(suite.getName()); sb.append(StringUtils.LINE_SEP); - output.write(sb.toString()); - output.flush(); + try { + output.write(sb.toString()); + output.flush(); + } catch (IOException ex) { + throw new BuildException(ex); + } } /** @@ -164,6 +170,8 @@ public class BriefJUnitResultFormatter implements JUnitResultFormatter { resultWriter.close(); output.write(results.toString()); output.flush(); + } catch (IOException ex) { + throw new BuildException(ex); } finally { if (out != System.out && out != System.err) { FileUtils.close(out); @@ -242,10 +250,17 @@ public class BriefJUnitResultFormatter implements JUnitResultFormatter { endTest(test); } - resultWriter.println(formatTest(test) + type); - resultWriter.println(error.getMessage()); - String strace = JUnitTestRunner.getFilteredTrace(error); - resultWriter.println(strace); - resultWriter.println(); + try { + resultWriter.write(formatTest(test) + type); + resultWriter.newLine(); + resultWriter.write(error.getMessage()); + resultWriter.newLine(); + String strace = JUnitTestRunner.getFilteredTrace(error); + resultWriter.write(strace); + resultWriter.newLine(); + resultWriter.newLine(); + } catch (IOException ex) { + throw new BuildException(ex); + } } } diff --git a/src/main/org/apache/tools/ant/taskdefs/optional/junit/FailureRecorder.java b/src/main/org/apache/tools/ant/taskdefs/optional/junit/FailureRecorder.java index 36dcddbb6..83994169e 100644 --- a/src/main/org/apache/tools/ant/taskdefs/optional/junit/FailureRecorder.java +++ b/src/main/org/apache/tools/ant/taskdefs/optional/junit/FailureRecorder.java @@ -17,11 +17,11 @@ */ package org.apache.tools.ant.taskdefs.optional.junit; +import java.io.BufferedWriter; import java.io.File; -import java.io.FileNotFoundException; -import java.io.FileOutputStream; +import java.io.FileWriter; +import java.io.IOException; import java.io.OutputStream; -import java.io.PrintWriter; import java.text.SimpleDateFormat; import java.util.Date; import java.util.Iterator; @@ -90,7 +90,7 @@ public class FailureRecorder extends ProjectComponent implements JUnitResultForm private static SortedSet/**/ failedTests = new TreeSet(); /** A writer for writing the generated source to. */ - private PrintWriter writer; + private BufferedWriter writer; /** * Location and name of the generated JUnit class. @@ -249,54 +249,66 @@ public class FailureRecorder extends ProjectComponent implements JUnitResultForm verbose("Write collector class to '" + sourceFile.getAbsolutePath() + "'"); sourceFile.delete(); - writer = new PrintWriter(new FileOutputStream(sourceFile)); + writer = new BufferedWriter(new FileWriter(sourceFile)); createClassHeader(); createSuiteMethod(); createClassFooter(); FileUtils.close(writer); - } catch (FileNotFoundException e) { + } catch (IOException e) { e.printStackTrace(); } } - private void createClassHeader() { + private void createClassHeader() throws IOException { String className = getLocationName().replace('\\', '/'); if (className.indexOf('/') > -1) { className = className.substring(className.lastIndexOf('/') + 1); } SimpleDateFormat sdf = new SimpleDateFormat("yyyy.MM.dd HH:mm:ss,SSS"); - writer.print("// generated on: "); - writer.println(sdf.format(new Date())); - writer.println("import junit.framework.*;"); - writer.print("public class "); - writer.print(className); + writer.write("// generated on: "); + writer.write(sdf.format(new Date())); + writer.newLine(); + writer.write("import junit.framework.*;"); + writer.newLine(); + writer.write("public class "); + writer.write(className); // If this class does not extend TC, Ant doesnt run these - writer.println(" extends TestCase {"); + writer.write(" extends TestCase {"); + writer.newLine(); // standard String-constructor - writer.print(" public "); - writer.print(className); - writer.println("(String testname) {"); - writer.println(" super(testname);"); - writer.println(" }"); + writer.write(" public "); + writer.write(className); + writer.write("(String testname) {"); + writer.newLine(); + writer.write(" super(testname);"); + writer.newLine(); + writer.write(" }"); + writer.newLine(); } - private void createSuiteMethod() { - writer.println(" public static Test suite() {"); - writer.println(" TestSuite suite = new TestSuite();"); + private void createSuiteMethod() throws IOException { + writer.write(" public static Test suite() {"); + writer.newLine(); + writer.write(" TestSuite suite = new TestSuite();"); + writer.newLine(); for (Iterator iter = failedTests.iterator(); iter.hasNext();) { TestInfos testInfos = (TestInfos) iter.next(); - writer.print(" suite.addTest("); - writer.print(testInfos); - writer.println(");"); + writer.write(" suite.addTest("); + writer.write(String.valueOf(testInfos)); + writer.write(");"); + writer.newLine(); } - writer.println(" return suite;"); - writer.println(" }"); + writer.write(" return suite;"); + writer.newLine(); + writer.write(" }"); + writer.newLine(); } - private void createClassFooter() { - writer.println("}"); + private void createClassFooter() throws IOException { + writer.write("}"); + writer.newLine(); } // ===== Helper classes and methods ===== diff --git a/src/main/org/apache/tools/ant/taskdefs/optional/junit/JUnitTask.java b/src/main/org/apache/tools/ant/taskdefs/optional/junit/JUnitTask.java index a68cef05b..8131b408a 100644 --- a/src/main/org/apache/tools/ant/taskdefs/optional/junit/JUnitTask.java +++ b/src/main/org/apache/tools/ant/taskdefs/optional/junit/JUnitTask.java @@ -27,7 +27,6 @@ import java.io.FileWriter; import java.io.IOException; import java.io.OutputStream; import java.io.PrintStream; -import java.io.PrintWriter; import java.lang.reflect.Constructor; import java.net.URL; import java.util.ArrayList; @@ -849,10 +848,10 @@ public class JUnitTask extends Task { // Create a temporary file to pass the test cases to run to // the runner (one test case per line) File casesFile = createTempPropertiesFile("junittestcases"); - PrintWriter writer = null; + BufferedWriter writer = null; try { writer = - new PrintWriter(new BufferedWriter(new FileWriter(casesFile))); + new BufferedWriter(new BufferedWriter(new FileWriter(casesFile))); log("Creating casesfile '" + casesFile.getAbsolutePath() + "' with content: ", Project.MSG_VERBOSE); @@ -1969,15 +1968,16 @@ public class JUnitTask extends Task { return t; } - private static void printDual(PrintWriter w, PrintStream s, String text) + private static void printDual(BufferedWriter w, PrintStream s, String text) throws IOException { - w.print(text); + w.write(text); s.print(text); } - private static void printlnDual(PrintWriter w, PrintStream s, String text) + private static void printlnDual(BufferedWriter w, PrintStream s, String text) throws IOException { - w.println(text); + w.write(text); + w.newLine(); s.println(text); } } diff --git a/src/main/org/apache/tools/ant/taskdefs/optional/junit/JUnitTestRunner.java b/src/main/org/apache/tools/ant/taskdefs/optional/junit/JUnitTestRunner.java index 490f4c4de..a53beaf58 100644 --- a/src/main/org/apache/tools/ant/taskdefs/optional/junit/JUnitTestRunner.java +++ b/src/main/org/apache/tools/ant/taskdefs/optional/junit/JUnitTestRunner.java @@ -19,6 +19,7 @@ package org.apache.tools.ant.taskdefs.optional.junit; import java.io.BufferedReader; +import java.io.BufferedWriter; import java.io.ByteArrayOutputStream; import java.io.File; import java.io.FileInputStream; @@ -26,7 +27,6 @@ import java.io.FileWriter; import java.io.IOException; import java.io.OutputStream; import java.io.PrintStream; -import java.io.PrintWriter; import java.io.StringReader; import java.io.StringWriter; import java.lang.reflect.Method; @@ -878,7 +878,7 @@ public class JUnitTestRunner implements TestListener, JUnitTaskMirror.JUnitTestR return stack; } StringWriter sw = new StringWriter(); - PrintWriter pw = new PrintWriter(sw); + BufferedWriter pw = new BufferedWriter(sw); StringReader sr = new StringReader(stack); BufferedReader br = new BufferedReader(sr); @@ -886,7 +886,8 @@ public class JUnitTestRunner implements TestListener, JUnitTaskMirror.JUnitTestR try { while ((line = br.readLine()) != null) { if (!filterLine(line)) { - pw.println(line); + pw.write(line); + pw.newLine(); } } } catch (Exception e) { diff --git a/src/main/org/apache/tools/ant/taskdefs/optional/junit/PlainJUnitResultFormatter.java b/src/main/org/apache/tools/ant/taskdefs/optional/junit/PlainJUnitResultFormatter.java index 3ddb731e2..804b697f0 100644 --- a/src/main/org/apache/tools/ant/taskdefs/optional/junit/PlainJUnitResultFormatter.java +++ b/src/main/org/apache/tools/ant/taskdefs/optional/junit/PlainJUnitResultFormatter.java @@ -18,9 +18,9 @@ package org.apache.tools.ant.taskdefs.optional.junit; +import java.io.BufferedWriter; import java.io.IOException; import java.io.OutputStream; -import java.io.PrintWriter; import java.io.StringWriter; import java.text.NumberFormat; import java.util.Hashtable; @@ -61,7 +61,7 @@ public class PlainJUnitResultFormatter implements JUnitResultFormatter { /** * Convenience layer on top of {@link #inner inner}. */ - private PrintWriter wri; + private BufferedWriter wri; /** * Suppress endTest if testcase failed. */ @@ -73,7 +73,7 @@ public class PlainJUnitResultFormatter implements JUnitResultFormatter { /** No arg constructor */ public PlainJUnitResultFormatter() { inner = new StringWriter(); - wri = new PrintWriter(inner); + wri = new BufferedWriter(inner); } /** {@inheritDoc}. */ @@ -185,7 +185,8 @@ public class PlainJUnitResultFormatter implements JUnitResultFormatter { return; } synchronized (wri) { - wri.print("Testcase: " + try { + wri.write("Testcase: " + JUnitVersionHelper.getTestCaseName(test)); Long l = (Long) testStarts.get(test); double seconds = 0; @@ -195,7 +196,11 @@ public class PlainJUnitResultFormatter implements JUnitResultFormatter { (System.currentTimeMillis() - l.longValue()) / ONE_SECOND; } - wri.println(" took " + nf.format(seconds) + " sec"); + wri.write(" took " + nf.format(seconds) + " sec"); + wri.newLine(); + } catch (IOException ex) { + throw new BuildException(ex); + } } } @@ -239,11 +244,17 @@ public class PlainJUnitResultFormatter implements JUnitResultFormatter { failed.put(test, Boolean.TRUE); } - wri.println(type); - wri.println(t.getMessage()); + try { + wri.write(type); + wri.newLine(); + wri.write(t.getMessage()); + wri.newLine(); String strace = JUnitTestRunner.getFilteredTrace(t); - wri.print(strace); - wri.println(""); + wri.write(strace); + wri.newLine(); + } catch (IOException ex) { + throw new BuildException(ex); + } } } diff --git a/src/main/org/apache/tools/ant/util/JavaEnvUtils.java b/src/main/org/apache/tools/ant/util/JavaEnvUtils.java index 37ea25786..ffef12267 100644 --- a/src/main/org/apache/tools/ant/util/JavaEnvUtils.java +++ b/src/main/org/apache/tools/ant/util/JavaEnvUtils.java @@ -17,9 +17,9 @@ */ package org.apache.tools.ant.util; +import java.io.BufferedWriter; import java.io.File; import java.io.IOException; -import java.io.PrintWriter; import java.io.FileWriter; import java.io.BufferedWriter; import java.util.Vector; @@ -441,11 +441,12 @@ public final class JavaEnvUtils { public static File createVmsJavaOptionFile(String[] cmd) throws IOException { File script = FILE_UTILS.createTempFile("ANT", ".JAVA_OPTS", null, false, true); - PrintWriter out = null; + BufferedWriter out = null; try { - out = new PrintWriter(new BufferedWriter(new FileWriter(script))); + out = new BufferedWriter(new FileWriter(script)); for (int i = 0; i < cmd.length; i++) { - out.println(cmd[i]); + out.write(cmd[i]); + out.newLine(); } } finally { FileUtils.close(out);