diff --git a/WHATSNEW b/WHATSNEW index 45bb2ace8..292a3cb2f 100644 --- a/WHATSNEW +++ b/WHATSNEW @@ -232,6 +232,10 @@ Fixed bugs: * didn't close JARs that were part of the classpath. Bugzilla Report 45955. + * in some cases would delete class files even if it didn't + find the corresponding source files. + Bugzilla Report 45916. + Other changes: -------------- diff --git a/src/main/org/apache/tools/ant/taskdefs/optional/depend/Depend.java b/src/main/org/apache/tools/ant/taskdefs/optional/depend/Depend.java index 0a0f8dced..6262f8574 100644 --- a/src/main/org/apache/tools/ant/taskdefs/optional/depend/Depend.java +++ b/src/main/org/apache/tools/ant/taskdefs/optional/depend/Depend.java @@ -451,8 +451,12 @@ public class Depend extends MatchingTask { ClassFileInfo classInfo = (ClassFileInfo) classFileInfoMap.get(className); if (classInfo != null && classInfo.absoluteFile.exists()) { + if (classInfo.sourceFile == null) { + warnOutOfDateButNotDeleted(classInfo, className, className); + } else { classInfo.absoluteFile.delete(); count++; + } } } return count; diff --git a/src/tests/antunit/taskdefs/optional/depend/depend-test.xml b/src/tests/antunit/taskdefs/optional/depend/depend-test.xml index 7f2b1e55a..6812bf54a 100644 --- a/src/tests/antunit/taskdefs/optional/depend/depend-test.xml +++ b/src/tests/antunit/taskdefs/optional/depend/depend-test.xml @@ -24,7 +24,7 @@ - +