Stefan Bodewig wrote:

> In the end we are not that far apart at all.  Let's get the things
> together then.
> 
> * antlib needs a way to define mappings between names and classes.
> 
> Costin prefers a properties file.  Most others prefer XML.

I can live with XML. 

What I hate is us inventing  yet another complex DTD. There is nothing wrong
with XML ( the angle brakets and syntax ), but I have a very big problem
with the countless languages that people invent on top of XML. 

If we are to use XML, let's at least use ant syntax - i.e. 
 <antlib> 
   <taskdef .... >
   <typedef ... >
 </antlib>

Things people already know and understand, we have all the code to 
process it, and if we want to extend - it's quite easy.

Please, don't invent a new language. 

In particular the language that is in the proposal - which IMO is the
worst part in it. 

I support properties because:
- that's what people already do. If we need XML later for extra fancy
things, very easy to add.
- it keeps the overhead to a minimum at runtime
- it is _not_ easy to bloat it.


> My argument for XML is the extensibility.  We will need versioning, we
> will need some statement of pre-reqs (like this antlib requires
> log4j), we will need additional capabilities we do not see now.

J2SDK1.2 + defines a  mechanism for declaring dependencies. Which is
actually required for servlet containers and j2ee. (i.e. the manifest ).

Why would we want to invent our own ?



> We certainly could put this into MANIFEST.MF, but it would be hard to
> put all of this into a properties file.  I like to keep the
> information in a single place, so properties plus manifest is no good
> idea IMHO.

Let's keep information where it belongs :-) 
If java defines a format and a place for dependencies - why would we want 
to invent our own ? 


> * if we are having problems with roles right now, lets start small.

+1

> Let's make a version of antlib that knows about two predefined roles,
> task and data-type.  I think this is already feature complete in the
> proposal (which does even more).

This is almost feature complete in the main branch. If you consider
ComponentHelper, it's almost done.


> Let's move this code with the restriction to tasks and types into the
> main branch ASAP.  Let's sort out the classloading requirements as
> well as the interplay of antlib with taskdef and typedef here.

If that means adopting the XML from the proposal - I'm strongly -0.
( and close to -1 :-)

I'm very uncomfortable with the unneeded complexity that is now in
the proposal - and I think we learned that it is much harder to remove 
something than to add.
 
> After this flies, I'd expect us to get roles sorted out.  If we feel
> like removing the difference between tasks and types, we can do so
> then as well.

As long as we don't start adding more component kinds...

Costin


Reply via email to