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