> -----Original Message-----
> From: Peter Reilly [mailto:[EMAIL PROTECTED] 
> Vote:
>   yes this is a good thing for 1.7 [  ]
>   no,  let us stabilize 1.7            [  ]

I'm a *non-binding* -1 on doing this relative to 1.7. 

This position is on the basis that I think that there is an fundamental flaw
with the notion of classloader mutation (with the exception of system
classloader mutation necessary in a small number of special cases).  

I think that Ant is moving in the right direction based on the separation of
jar files dealing with individual optional task groups (e.g. Junit, Java
Mail, Jdepend, etc.) - but I think that the direction forward should be
discrete classloaders per extension.  For example - the Java Mail task does
not need nor is related to Junit testing concerns and both can co-exist is
separate classloaders.  Establishing a classloader specifically addressing a
particular extension would eliminate potential conflict issues inherent in
the current proposal and I believe its feasible to do this at the level of a
the taskdef definition by adding classloader criteria to the antlib XML
definition.

In effect the classloading hierarchy should look more like the following:

  |----------------|
  | System CL      |
  |----------------|
          ^
          |
  |----------------|
  | Ant Project CL | (configurable to include custom project extensions)
  |----------------|
          ^
          |
          |---------------------------------------- ...
          |                 |                 |
  |----------------|  |-----------------|  |---------------|
  | Core Tasks CL  |  | Junit Antlib CL |  | XYZ Antlib    |
  |----------------|  |-----------------|  |---------------|

Where each antlib classloader is created based on XML data declaring new
classloader creation criteria (i.e. no mutation in the general case) and
where the taskdef task incorporates parallel/equivalent functionality. 

Cheers, Steve.

--------------------------
Stephen McConnell
mailto:[EMAIL PROTECTED]
http://www.dpml.net
  

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to