ant-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Stephen McConnell" <>
Subject RE: VOTE: add an antlib (and optional task) loader to ant 1.7
Date Tue, 05 Sep 2006 05:14:26 GMT

> -----Original Message-----
> From: Peter Reilly [] 
> 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

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

To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message