> > > Example: I have a file FOO.TXT on the file system and select it with > > <fileset includes="foo.txt"/>. It will get selected because > > > > new File("foo.txt").getCanonicalPath() > > > > returns "foo.txt" instead of "FOO.TXT". > > This is bad, in particular as it won't get selected for > includes="fo?.txt", so we have an inconsistency in the case-sensitive > case, no matter what we use as a default value for OpenVMS. >
I didn't even think about that. But with case sensitivity disabled the file will be selected by "fo?.txt". The only way to access the case of a file from Java on OpenVMS is currently to use File#listFiles(). > The only solution I see is to change line 718 in DirectoryScanner to > read > > if (!path.equals(currentelement) > || Os.isFamily("openvms")) { > Looks reasonable. BTW, would it be reasonable to add constants like ON_VMS to Os? In this case the Os.isFamily("openvms") would be run quite a few times... Or the Os class could of course also cache results. > or force OpenVMS to take the first branch in line 690, that should > take care of this issue. > Don't quite understand what that would do :-) -- knut