forrest-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Ross Gardler <rgard...@apache.org>
Subject Re: AW: [jira] Created: (FOR-535) Create a plugins task for ANT
Date Tue, 14 Jun 2005 09:44:52 GMT
Nicola Ken Barozzi wrote:
> ...
> 
>>>Create a plugins task for ANT
>>>-----------------------------
>>>
>>>       Key: FOR-535
>>>       URL: http://issues.apache.org/jira/browse/FOR-535
> 
> ...
> 
>>>The ant file for loading and mounting plugins is horribly
>>>complex now that we are using versioned plugins. I've used
>>>lots of if elements and mutable properties from the
>>>ant-contrib package. In my view when you overuse these tasks
>>>it generally means you should have a specialised ANT task to
>>>handle the logic. ANT is not supposed to be a programming language.
>>>
>>>We need to create an ANT task for the handling the
>>>installation of plugns so that we have more control over what
>>>is going on (for example, we can remove the need to have an
>>>unversioned plugin to fall back on).
> 
> ...
> 
> Jan.Materne@rzf.fin-nrw.de wrote:
> 
>>Maybe the Maven Ant tasks could helpful (in a wider) context?
>>http://maven.apache.org/maven2/ant-tasks.html
> 
> 
> Well, not much, but still so.
> 
> I'm trying to use them for Cocoon, but I'm having problems, as they are
> Alpha-2, and I'm working with the Maven developers to make them work
> well. I will propose them here too, after they work in Cocoon, but for
> them moment I would not use them here.
> 
> I'll take a look at what Ross has done and see if I have any idea.

You will not like what you see! In fact, I'm not at all sure you will be 
able to work out how it works, it really is a complex web of conditional 
statements. Hence the above issue.

I did think about making it all conditional tasks but that just got even 
more complex. The main problem is that when installing a plugin we need 
to work out if it is an input, output or internal. Then we need to 
figure out if the requested version is available, if it is we use it, if 
it isn't then we use the unversioned one. To further complicate things, 
sometimes the one requested will be the unversioned one anyway.

It all works, but I can imagine someone having a nightmare trying to 
maintain it - not good.

Ross


Mime
View raw message