ant-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Peter Donald <>
Subject [Vote] ProjectBuilder abstraction
Date Tue, 08 May 2001 12:11:35 GMT

There has been a lot of discussion about the input format of tasks, how we
do templating, do we use CSS for user prefs. Without a doubt there is
members of the community who want to use velocity and other members who
want to use XSLT and still yet others who want to use a new custom
language. User preferences has also not been fully decided so it could be
properties, CSS, XML or something we haven't though about yet.

All in all I can not see how we can bind to a particular format or builder
just yet. Thus I propose that we use a ProjectBuilder abstraction. A
ProjectBuilder is responsible for taking a number of parameters and a
URL/file/resource location and building a project instance. How it does it
is irrelevent to the Ant runtime - just as long as it does it.

Using this type of strategy we can allow experimentation with
xslt/velocity/xsp/siLLy etc and it makes no difference to the engine. Later
on in development process we can choose to "standardize" on one format if
ant-dev desires but until then let let chaos reign and see what comes out
of it ;) Hopefully something good.

If you look further at the myrmidon proposal you will also notice there is
a difference between input stream and sax stream as leads into Project
builder. In theory you could "stack" stream handlers together and
higher-level handlers (like SAX) as well. For instance you could extract a
stream from a url, un-gzip it, transform it using XSLT+SAX and then the
final builder. All these options will be possible but are not defined for
the moment. (And may never be implemented). "stacking" is something that is
a fairly common strategy, jdk does it with difference between
URLProtocolHandlers and URLContentHandlers, most OSes have stacked
filesystems (for compression/encryption/other).

Anyways - this is a powerful mechanism and wil allow experimentation as
appropriate - we can decide later on how the default ant behaves. 

Remembering that I am not asking for stackable stuff just yet - merely a
ProjectBuilder abstraction,




| "Faced with the choice between changing one's mind, |
| and proving that there is no need to do so - almost |
| everyone gets busy on the proof."                   |
|              - John Kenneth Galbraith               |

View raw message