Hello, Maybe I have not understood well what is the aim of 'whichresource' and how to use it - but here is my problem:
To get the simple jar file name that contains a class loaded from the Ant lib/ directory, I had to do: <whichresource class="org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner" property="ant-junit.url"/> <pathconvert property="ant-junit-jarfile" pathSep="?"> <path location="${ant-junit.url}"/> <mapper type="glob" from="${basedir}${file.separator}jar:file:*!/org/apache/tools/ant/taskdefs/optional/junit/JUnitTestRunner.class" to="*"/> </pathconvert> It is only working on Linux... On Windows, ant-junit-jarfile is empty. The value of 'ant-junit.url' on Windows is jar:file:/C:/Program%20Files/Ant/lib/ant-junit.jar!/org/apache/tools/ant/taskdefs/optional/junit/JUnitTestRunner.class [ The URI RFC says the ':' is a reserved character BUT it is used to express the ugly windows drive notation... Another issue for me. Does the JDK provide valid file: URL on Windows ? ] Is there a portable way to get that code working ? Isn't it simpler to add an output option to 'whichresource' ? <whichresource class="org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner" property="ant-junit.url" output="file"/> The "output" values may be - 'url': complete URL, - 'jar': if protocol is jar, only the part between "jar:" and "!" - 'file': if protocol is file, only the file name) and so on. So whichresource will only write in the property the part on the URL we are interested in. URL specification is not enough: it has to understand some protocols to be able to remove "!..." part in case of "jar:" protocol for instance. What do you think about that idea ? I'm ready to work on it if ok. Or else I will have to create my own task. Thank you in advance for your answers -- Yves Martin --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]