Hi all, while investigating bug 8689 I realized that the Ant project instances we create in Ant never fire the build started or finished events. I'm not entirely sure that this is a good thing (but it probably is), but we probably can't change it for backwards compatibility reasons anyway.
This has a couple of consequences, one of them causes the excess memory needed in AntClassLoader. If a task in the subbuild creates an AntClassLoader instance it never gets cleaned up since the subproject never calls build finished. Another one is that any <record> task used in the subbuild could leave open files hanging around until Ant exits. For what I propose below, I'll also have to add a close method to RecorderEntry. Since I don't think we can "fix" the build* events for subbuilds, I plan to do some things in <ant> after the subbuild has finished: * remove all build listeners of the main project from the subbuild. * iterate over the remaining build listeners of the subbuild and a) invoke cleanup() if it is an AntClassLoader b) invoke close() if it is a RecorderEntry this is ugly, but any clean solution I could come up with is not backwards compatible (add a dispose method to BuildListener, make subbuilds fire buildFinished ...). Any better ideas? Stefan --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]