Browse Source

Refined fix of #52743 to close output stream before renaming temp file.

Windows-only failure in Ant-Build-Matrix.

git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@1297127 13f79535-47bb-0310-9956-ffa450edef68
master
Jesse N. Glick 13 years ago
parent
commit
c5d14d94cf
1 changed files with 8 additions and 8 deletions
  1. +8
    -8
      src/main/org/apache/tools/ant/taskdefs/optional/ReplaceRegExp.java

+ 8
- 8
src/main/org/apache/tools/ant/taskdefs/optional/ReplaceRegExp.java View File

@@ -352,6 +352,8 @@ public class ReplaceRegExp extends Task {
throws IOException { throws IOException {
File temp = FILE_UTILS.createTempFile("replace", ".txt", null, true, true); File temp = FILE_UTILS.createTempFile("replace", ".txt", null, true, true);
try { try {
boolean changes = false;

InputStream is = new FileInputStream(f); InputStream is = new FileInputStream(f);
try { try {
Reader r = encoding != null ? new InputStreamReader(is, encoding) : new InputStreamReader(is); Reader r = encoding != null ? new InputStreamReader(is, encoding) : new InputStreamReader(is);
@@ -362,8 +364,6 @@ public class ReplaceRegExp extends Task {
BufferedReader br = new BufferedReader(r); BufferedReader br = new BufferedReader(r);
BufferedWriter bw = new BufferedWriter(w); BufferedWriter bw = new BufferedWriter(w);


boolean changes = false;

log("Replacing pattern '" + regex.getPattern(getProject()) log("Replacing pattern '" + regex.getPattern(getProject())
+ "' with '" + subs.getExpression(getProject()) + "' with '" + subs.getExpression(getProject())
+ "' in '" + f.getPath() + "'" + (byline ? " by line" : "") + "' in '" + f.getPath() + "'" + (byline ? " by line" : "")
@@ -455,6 +455,12 @@ public class ReplaceRegExp extends Task {


bw.flush(); bw.flush();


} finally {
os.close();
}
} finally {
is.close();
}
if (changes) { if (changes) {
log("File has changed; saving the updated file", Project.MSG_VERBOSE); log("File has changed; saving the updated file", Project.MSG_VERBOSE);
try { try {
@@ -471,12 +477,6 @@ public class ReplaceRegExp extends Task {
} else { } else {
log("No change made", Project.MSG_DEBUG); log("No change made", Project.MSG_DEBUG);
} }
} finally {
os.close();
}
} finally {
is.close();
}
} finally { } finally {
if (temp != null) { if (temp != null) {
temp.delete(); temp.delete();


Loading…
Cancel
Save