A build file at the top level (in directory .../acme/) delegates to another build file in src/lib2/ (.../acme/src/lib2), but src/ is a symlink to ../acme_src (which thus resolves to .../acme_src using getCanonicalPath). The build file in src/lib2/ imports ../../config/recurse.xml (.../acme/config/recurse.xml), but this fails, because apparently the basedir of src/lib2/build.xml was assigned after a getCanonicalPath() call. Note the symlink mimicks a ClearCase view with several vobs linked together. Both acme and acme_src are ClearCase vobs. On Linux, acme/src is a symlink to ../acme_src, but not on Windows, which is why I'd really like ../../config/recurse.xml to be found even when traversing symlinks. Is this a bug we can solve? I thought after Jesse's patch that this issue was resolved. Thanks, --DD PS: I'll attach a build file that sets up the environment, and a session log that demonstrates the step to reproduce the issue on a linux system.
Created attachment 12301 [details] Build file setting up the directory to reproduce the bug
Created attachment 12302 [details] Session showing the problem.
The probem was in Subant.java - it used a canonical path, importtask and projecthelper2 have moved to using absolutepath, so subant should too. With this change, the provided test works ok.
Thanks a bunch Peter. I guess it's not flatering for me to not being able to find the bug since I wrote SubAnt.java :-( --DD