diff --git a/src/etc/testcases/taskdefs/ant.xml b/src/etc/testcases/taskdefs/ant.xml
index 3a0262d88..4024bc3d2 100644
--- a/src/etc/testcases/taskdefs/ant.xml
+++ b/src/etc/testcases/taskdefs/ant.xml
@@ -2,6 +2,13 @@
+
+
+
+
+
+
+
@@ -67,4 +74,13 @@
+
+
+
+
+
+
diff --git a/src/main/org/apache/tools/ant/taskdefs/Ant.java b/src/main/org/apache/tools/ant/taskdefs/Ant.java
index e960337d1..748f57105 100644
--- a/src/main/org/apache/tools/ant/taskdefs/Ant.java
+++ b/src/main/org/apache/tools/ant/taskdefs/Ant.java
@@ -105,7 +105,6 @@ public class Ant extends Task {
/** the output */
private String output = null;
- private String outfile = null;
/** should we inherit properties from the parent ? */
private boolean inheritAll = true;
@@ -175,9 +174,11 @@ public class Ant extends Task {
}
if (output != null) {
+ File outfile = null;
if (dir != null) {
- File file = FileUtils.newFileUtils().resolveFile(dir, output);
- outfile = file.getAbsolutePath();
+ outfile = FileUtils.newFileUtils().resolveFile(dir, output);
+ } else {
+ outfile = getProject().resolveFile(output);
}
try {
PrintStream out = new PrintStream(new FileOutputStream(outfile));
diff --git a/src/testcases/org/apache/tools/ant/taskdefs/AntTest.java b/src/testcases/org/apache/tools/ant/taskdefs/AntTest.java
index 4bb6b9534..97ffc5c73 100644
--- a/src/testcases/org/apache/tools/ant/taskdefs/AntTest.java
+++ b/src/testcases/org/apache/tools/ant/taskdefs/AntTest.java
@@ -1,7 +1,7 @@
/*
* The Apache Software License, Version 1.1
*
- * Copyright (c) 2000-2001 The Apache Software Foundation. All rights
+ * Copyright (c) 2000-2002 The Apache Software Foundation. All rights
* reserved.
*
* Redistribution and use in source and binary forms, with or without
@@ -78,6 +78,10 @@ public class AntTest extends BuildFileTest {
configureProject("src/etc/testcases/taskdefs/ant.xml");
}
+ public void tearDown() {
+ executeTarget("cleanup");
+ }
+
public void test1() {
expectBuildException("test1", "recursive call");
}
@@ -213,6 +217,26 @@ public class AntTest extends BuildFileTest {
project.removeBuildListener(rc);
}
+ public void testLogfilePlacement() {
+ File[] logFiles = new File[] {
+ getProject().resolveFile("test1.log"),
+ getProject().resolveFile("test2.log"),
+ getProject().resolveFile("ant/test3.log"),
+ getProject().resolveFile("ant/test3.log")
+ };
+ for (int i=0; i