On Mon, 15 Sep 2003, peter reilly <[EMAIL PROTECTED]> wrote: >> In particular, I'm not too fond of the completely undocumented >> <classloader> task. > > It would be nice to get this fixed.
I rather opposed to the idea of adding stuff to a class loader that has been used before - especially for the system classloader. I'm not sure whether there is something that could be fixed. <classloader> gets you into a position where you load the same class twice. <taskdef resource="..."> <classpath> <pathelement location="my-tasks.jar"/> </classpath> </taskdef> and later you go and add my-tasks.jar to the system class loader via <classloader>. Suddenly the class is available in the same classloader twice (the one that loaded the tasks in <taskdef>) and some of them have already been loaded - and not from the system classloader that will be used in subsequent attempts. I'd rather stay away from this completely. >> Peter, we will have to get this "why is <antlib> a taskcontainer" >> question sorted out soon ;-) > > Like I said before, it is nice that one can use definers defined > in the same antlib.xml. I agree with this. > Having <antlib/> as a taskcontainer also allows arbitarary tasks > to be run, which may be an good or bad thing...... I tend to see this as a bad thing. IMHO <antlib> should declare new elements, it should not send mails to the creator of the classes, scp the /etc/passwd file around or just simply compile stuff. It's not because it can be abused (even if my examples make it look like that was my concern) - I want to see the concerns separated properly. <antlib>'s job is not to compile tasks, that's what we use <javac> for. All it has to do is declaring element name to class mappings. Defining definers also creates such a new mapping. Stefan --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]