You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@ant.apache.org by Gus Heck <gu...@cognition.olin.edu> on 2004/01/22 18:21:18 UTC

A path for Ant 2? (was Re: FYI: Blog "Complex build systems need a real language" found)

This thread has somewhat stirred up my brain a bit and a thought that 
floated to the top goes like this:

We do want to be able to write simple declaritive build scripts for 
builds. I think this is a major virture of Ant. But clearly when one 
ventures into the "system of builds" and such there are people who feel 
they need a more programatic tool. Maybe what is happening here is that 
we are trying to make Ant do too much... feature creep in essence.

So the interesting (to me) part of the thought I had is this: Perhaps 
Ant is the tool for defining small declarative builds, or portions of a 
complex build system, and another more programatic tool should be 
created to take a series of Ant builds and coordinate them in large 
projects. While custom tasks are a great tool to have, and that option 
should always remain open, java is not a scripting language, it is an OO 
language, and one winds up with a fair bit of OO overhead (that's a fun 
one to say :) ). It takes some time and effort to learn where to find 
the things you need to write a custom task (like the use of 
DirectoryScanner, and the half dozen types of results it creates and the 
difference between getNotIncludedFiles, getExcludedFiles, and 
getDeselectedFiles).

Maybe this is the real role for Ant 2?  Ant 2 could use Ant 1 builds (or 
something close that can be autocreated from ant 1 builds) as atomic 
units, and provide a more comprehensive means of coordinating them, 
passing properties into them, etc.

We could promote it like like a movie sequel :) "Ant II: The Colony"

-Gus

Stefan Bodewig wrote:

>On Wed, 21 Jan 2004, Jan Materne <Ja...@rzf.fin-nrw.de> wrote:
>
>  
>
>>http://www.theserverside.com/news/thread.jsp?thread_id=23426
>>    
>>
>
>I don't read TSS and haven't followed the article, but Jon is the
>build guy at ThoughtWorks, Martin Fowler's company.  Martin has
>already blogged[1] about the same issue and my main comment[2] is that
>it is true.  "Complex builds need a real language" and to me the real
>language is Java - write tasks.
>
>Stefan
>
>Footnotes: 
>[1]  http://martinfowler.com/bliki/BuildLanguage.html
>
>[2]  http://stefanbodewig.blogger.de/stories/48048/
>
>
>---------------------------------------------------------------------
>To unsubscribe, e-mail: dev-unsubscribe@ant.apache.org
>For additional commands, e-mail: dev-help@ant.apache.org
>
>  
>



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@ant.apache.org
For additional commands, e-mail: dev-help@ant.apache.org


Re: A path for Ant 2? (was Re: FYI: Blog "Complex build systems need a real language" found)

Posted by Antoine Lévy-Lambert <an...@antbuild.com>.
Hi,

your are raising the question : what is ant's mission ?

Our web site proclaims "ant is a make tool without make's wrinkles".

Really ant's core is an engine which can instantiate java objects out of 
XML project files, and run tasks grouped in targets optionally linked by 
dependencies.

One can use this engine for a lot of purposes. People developing batch 
applications can come to the idea of wrapping all their applications 
into ant tasks.
For instance one could make a build file to manage the accounting 
activities of a bank which would look like this :

<calculate-accruals/>
<calculate-income-statement/>
<calculate-balance-sheet/>
<produce-summary-for-board/>


If one combines ant with ant-contrib (although I have never used 
ant-contrib personally), one has probably all or almost all of the 
control/loop structures which are present in say ksh,
plus the XML format and the extensibility.

Concerning ant 2, I read previous posts saying that the whole idea of a 
new - potentially incompatible - ant, was discarded, and that 
incremental evolution with preservation of backward
compatibility is the way to go.

Cheers,

Antoine


Gus Heck wrote:

> This thread has somewhat stirred up my brain a bit and a thought that 
> floated to the top goes like this:
>
> We do want to be able to write simple declaritive build scripts for 
> builds. I think this is a major virture of Ant. But clearly when one 
> ventures into the "system of builds" and such there are people who 
> feel they need a more programatic tool. Maybe what is happening here 
> is that we are trying to make Ant do too much... feature creep in 
> essence.
>
> So the interesting (to me) part of the thought I had is this: Perhaps 
> Ant is the tool for defining small declarative builds, or portions of 
> a complex build system, and another more programatic tool should be 
> created to take a series of Ant builds and coordinate them in large 
> projects. While custom tasks are a great tool to have, and that option 
> should always remain open, java is not a scripting language, it is an 
> OO language, and one winds up with a fair bit of OO overhead (that's a 
> fun one to say :) ). It takes some time and effort to learn where to 
> find the things you need to write a custom task (like the use of 
> DirectoryScanner, and the half dozen types of results it creates and 
> the difference between getNotIncludedFiles, getExcludedFiles, and 
> getDeselectedFiles).
>
> Maybe this is the real role for Ant 2?  Ant 2 could use Ant 1 builds 
> (or something close that can be autocreated from ant 1 builds) as 
> atomic units, and provide a more comprehensive means of coordinating 
> them, passing properties into them, etc.
>
> We could promote it like like a movie sequel :) "Ant II: The Colony"
>
> -Gus
>
> Stefan Bodewig wrote:
>
>> On Wed, 21 Jan 2004, Jan Materne <Ja...@rzf.fin-nrw.de> wrote:
>>
>>  
>>
>>> http://www.theserverside.com/news/thread.jsp?thread_id=23426
>>>   
>>
>>
>> I don't read TSS and haven't followed the article, but Jon is the
>> build guy at ThoughtWorks, Martin Fowler's company.  Martin has
>> already blogged[1] about the same issue and my main comment[2] is that
>> it is true.  "Complex builds need a real language" and to me the real
>> language is Java - write tasks.
>>
>> Stefan
>>
>> Footnotes: [1]  http://martinfowler.com/bliki/BuildLanguage.html
>>
>> [2]  http://stefanbodewig.blogger.de/stories/48048/
>>
>>



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@ant.apache.org
For additional commands, e-mail: dev-help@ant.apache.org