diff --git a/src/etc/testcases/taskdefs/copy.xml b/src/etc/testcases/taskdefs/copy.xml index 24adfd693..81785196a 100644 --- a/src/etc/testcases/taskdefs/copy.xml +++ b/src/etc/testcases/taskdefs/copy.xml @@ -38,12 +38,19 @@ --> + + + + + + + diff --git a/src/main/org/apache/tools/ant/taskdefs/Copy.java b/src/main/org/apache/tools/ant/taskdefs/Copy.java index 3ac8b9226..fa574f0fe 100644 --- a/src/main/org/apache/tools/ant/taskdefs/Copy.java +++ b/src/main/org/apache/tools/ant/taskdefs/Copy.java @@ -326,7 +326,7 @@ public class Copy extends Task { if (srcFiles.length > 0) { if (file == null) { - file = new File(srcFiles[0]); + file = new File(ds.getBasedir(), srcFiles[0]); filesets.removeElementAt(0); } else { throw new BuildException( diff --git a/src/testcases/org/apache/tools/ant/taskdefs/CopyTest.java b/src/testcases/org/apache/tools/ant/taskdefs/CopyTest.java index 246ce9056..34383c728 100644 --- a/src/testcases/org/apache/tools/ant/taskdefs/CopyTest.java +++ b/src/testcases/org/apache/tools/ant/taskdefs/CopyTest.java @@ -122,4 +122,11 @@ public class CopyTest extends BuildFileTest { } } + + public void testSingleFileFileset() { + executeTarget("test_single_file_fileset"); + File file = new File(getProjectDir(), + "copytest_single_file_fileset.tmp"); + assertTrue(file.exists()); + } }