From 0afd945293d48758c608e0ce6966ab9f98cee05f Mon Sep 17 00:00:00 2001 From: Stefan Bodewig Date: Wed, 8 Oct 2008 15:04:47 +0000 Subject: [PATCH] don't delete classes if the source is not there. PR 45916 git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@702901 13f79535-47bb-0310-9956-ffa450edef68 --- WHATSNEW | 4 ++++ .../org/apache/tools/ant/taskdefs/optional/depend/Depend.java | 4 ++++ src/tests/antunit/taskdefs/optional/depend/depend-test.xml | 2 +- 3 files changed, 9 insertions(+), 1 deletion(-) 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 @@ - +