Author: antoine Date: Sat Oct 28 12:07:22 2006 New Revision: 468724 URL: http://svn.apache.org/viewvc?view=rev&rev=468724 Log: <delete> doesnt delete when defaultexcludes="false" and no includes is set fixed. Bugzilla 40313.
Modified: ant/core/trunk/WHATSNEW ant/core/trunk/src/etc/testcases/taskdefs/delete.xml ant/core/trunk/src/main/org/apache/tools/ant/taskdefs/Delete.java ant/core/trunk/src/tests/junit/org/apache/tools/ant/taskdefs/DeleteTest.java Modified: ant/core/trunk/WHATSNEW URL: http://svn.apache.org/viewvc/ant/core/trunk/WHATSNEW?view=diff&rev=468724&r1=468723&r2=468724 ============================================================================== --- ant/core/trunk/WHATSNEW (original) +++ ant/core/trunk/WHATSNEW Sat Oct 28 12:07:22 2006 @@ -10,6 +10,9 @@ * OOM caused by IH holding on to classes and thus their classloaders. Bugzilla 28283 and 33061. +* <delete> doesnt delete when defaultexcludes="false" and no includes is set + fixed. Bugzilla 40313. + Other changes: -------------- Modified: ant/core/trunk/src/etc/testcases/taskdefs/delete.xml URL: http://svn.apache.org/viewvc/ant/core/trunk/src/etc/testcases/taskdefs/delete.xml?view=diff&rev=468724&r1=468723&r2=468724 ============================================================================== --- ant/core/trunk/src/etc/testcases/taskdefs/delete.xml (original) +++ ant/core/trunk/src/etc/testcases/taskdefs/delete.xml Sat Oct 28 12:07:22 2006 @@ -6,10 +6,11 @@ <property name="dir" location="${dirname}" /> <macrodef name="expectabsent"> + <attribute name="target" default="${dir}"/> <sequential> <fail> <condition> - <available file="${dir}" /> + <available file="@{target}" /> </condition> </fail> </sequential> @@ -142,6 +143,30 @@ <fileset dir="${dir}" /> </delete> </target> + <!-- Bugzilla 40313 --> + <target name="test16.init"> + <mkdir dir="${dir}/CVS"/> + <touch file="${dir}/CVS/lala"/> + <mkdir dir="${dir}/subdir"/> + </target> + + <target name="test16" depends="test16.init"> + <delete defaultexcludes="false" dir="${dir}" includeemptydirs="true"/> + <expectabsent/> + </target> + + <target name="test17" depends="test16.init"> + <delete dir="${dir}" defaultexcludes="true" includeemptydirs="true"/> + <fail message="file in CVS dir deleted"> + <condition> + <not> + <available file="${dir}/CVS/lala"/> + </not> + </condition> + </fail> + <expectabsent target="${dir}/subdir"/> + </target> + <target name="cleanup" depends="test4" /> Modified: ant/core/trunk/src/main/org/apache/tools/ant/taskdefs/Delete.java URL: http://svn.apache.org/viewvc/ant/core/trunk/src/main/org/apache/tools/ant/taskdefs/Delete.java?view=diff&rev=468724&r1=468723&r2=468724 ============================================================================== --- ant/core/trunk/src/main/org/apache/tools/ant/taskdefs/Delete.java (original) +++ ant/core/trunk/src/main/org/apache/tools/ant/taskdefs/Delete.java Sat Oct 28 12:07:22 2006 @@ -544,6 +544,13 @@ resourcesToDelete.setProject(getProject()); Resources filesetDirs = new Resources(); filesetDirs.setProject(getProject()); + FileSet implicit = null; + if (usedMatchingTask && dir != null && dir.isDirectory()) { + //add the files from the default fileset: + implicit = getImplicitFileSet(); + implicit.setProject(getProject()); + filesets.add(implicit); + } for (int i = 0, size = filesets.size(); i < size; i++) { FileSet fs = (FileSet) filesets.get(i); @@ -559,15 +566,6 @@ fs.getDirectoryScanner().getIncludedDirectories())); } } - if (usedMatchingTask && dir != null && dir.isDirectory()) { - //add the files from the default fileset: - FileSet implicit = getImplicitFileSet(); - resourcesToDelete.add(implicit); - if (includeEmpty) { - filesetDirs.add(new ReverseDirs(dir, - implicit.getDirectoryScanner().getIncludedDirectories())); - } - } resourcesToDelete.add(filesetDirs); if (rcs != null) { // sort first to files, then dirs @@ -601,7 +599,11 @@ } } catch (Exception e) { handle(e); - } + } finally { + if (implicit != null) { + filesets.remove(implicit); + } + } } //************************************************************************ Modified: ant/core/trunk/src/tests/junit/org/apache/tools/ant/taskdefs/DeleteTest.java URL: http://svn.apache.org/viewvc/ant/core/trunk/src/tests/junit/org/apache/tools/ant/taskdefs/DeleteTest.java?view=diff&rev=468724&r1=468723&r2=468724 ============================================================================== --- ant/core/trunk/src/tests/junit/org/apache/tools/ant/taskdefs/DeleteTest.java (original) +++ ant/core/trunk/src/tests/junit/org/apache/tools/ant/taskdefs/DeleteTest.java Sat Oct 28 12:07:22 2006 @@ -80,4 +80,10 @@ public void test15() { executeTarget("test15"); } + public void test16() { + executeTarget("test16"); + } + public void test17() { + executeTarget("test17"); + } } --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]