Hi,
I want to change the behavior of the UpToDate task when it's called on a inexisting fileset. Now, it throws a exception like that one :
file:/home/gce/dev/bilansService/build/build.xml:419:
/home/gce/dev/bilansService/work/src not found.
at
org.apache.tools.ant.types.AbstractFileSet.getDirectoryScanner(AbstractFileSet.java:341)
at
org.apache.tools.ant.types.AbstractFileSet.getDirectoryScanner(AbstractFileSet.java:332)
at org.apache.tools.ant.taskdefs.UpToDate.eval(UpToDate.java:199)
at org.apache.tools.ant.taskdefs.UpToDate.execute(UpToDate.java:235)
at org.apache.tools.ant.Task.perform(Task.java:317)
at org.apache.tools.ant.Target.execute(Target.java:309)
at org.apache.tools.ant.Target.performTasks(Target.java:334)
at org.apache.tools.ant.Project.executeTarget(Project.java:1306)
at org.apache.tools.ant.Project.executeTargets(Project.java:1250)
at org.apache.tools.ant.Main.runBuild(Main.java:610)
at org.apache.tools.ant.Main.start(Main.java:196)
at org.apache.tools.ant.Main.main(Main.java:235)
I would like the uptodate tasks to simply ignore inexisting directory and consider that the file can not uptodate.
Please see bug 11214 for more details :
http://nagoya.apache.org/bugzilla/show_bug.cgi?id=11214
Thanks
-- Guillaume Cot� [EMAIL PROTECTED]
--- AbstractFileSet.java.orig Mon Jul 29 10:44:25 2002
+++ AbstractFileSet.java Fri Jul 26 19:09:42 2002
@@ -316,6 +316,14 @@
return classname.substring(dotIndex + 1);
}
+ public boolean exist(Project p) {
+ if (isReference()) {
+ return getRef(p).exist(p);
+ }
+
+ return dir.exists();
+ }
+
/**
* Returns the directory scanner needed to access the files to process.
*/
--- UpToDate.java.orig Mon Jul 29 10:43:03 2002
+++ UpToDate.java Fri Jul 26 19:32:51 2002
@@ -196,9 +196,14 @@
boolean upToDate = true;
while (upToDate && enum.hasMoreElements()) {
FileSet fs = (FileSet) enum.nextElement();
- DirectoryScanner ds = fs.getDirectoryScanner(project);
- upToDate = upToDate && scanDir(fs.getDir(project),
- ds.getIncludedFiles());
+ if (fs.exist(project)) {
+ DirectoryScanner ds = fs.getDirectoryScanner(project);
+ upToDate = upToDate && scanDir(fs.getDir(project),
+ ds.getIncludedFiles());
+ }
+ else {
+ upToDate = false;
+ }
}
if (_sourceFile != null) {-- To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>
