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]