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 <[EMAIL PROTECTED]> 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: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]