On 2026-02-09, Jens Hofschröer wrote:

> I think this _will_ break some builds. At least mine.
> I am working inside a folder from a junctioned path. In my buildscript
> I need to find a relative path to a file. This works find in 1.10.15.

> With the release candicate 1 this no longer works an my build breaks.
> I created a simple sample script to demonstrate the difference:

I've expanded on this a bit in
https://gist.github.com/bodewig/1c48a3ff2faf44ec21aae93ee922c3bd
and the results surprised me.

There is no difference between 1.10.15 and 1.10.16 on Linux which is
expected. Also the Windows results of the combination Java 21/Ant
1.10.15 is different from each other combination (i.e. upgrading Java or
Ant alone is enough and the results for the other three combinations are
identical). I also expected this.

What I didn't expect: only the result of Java21/Ant 1.10.15 on Windows
looks like the one on Linux as far as the "relative" property is
concerned. For the other cases it looks as if the relative resultion
happens between a basedir that has been resolved to the
non-linked/junctioned version and a file that still has the
symlink/junctioned path on Windows.

Another difference is that on Linux Ant has already resolved the symlink
from the start. ${ant.file} and ${basedir} point to the real paths while
they are still their symlinked/junctioned version on Windows. It looks
as if the resolution happens for basedir on the fly when the relative
property is resolved but not for the file that is resolved. At first
glance I don't see why. Need to dig deeper.

Stefan

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to