I haven't said anything for a while and mostly you have no idea who I
am but I'll jump in anyway. The procedural vs. declarative argument
is a fallacy. As has been pointed out, a procedure is a declaration.
The important point (IMHO) is that the declaration in the build tool
should declare as clearly as possible the intent of the CM
person/build manager etc.
Some amount of stuff like foreach etc... might be OK (although my
prejudices/beliefs are to avoid it) because it can be useful and some
people will use it for complex unanticipated situations. I think Ant
should try to push it to the edges though. The example way below can
be expressed:
Now this is a bit of hand waving and not totally clear. I have told
Stefan I will put together something RSN to describe some of the ideas
I've come across, from the workflow and process definition world. Ant
is defining a build process, and there is a lot of literature and
previous work about how to express a process. Tasks have subtasks,
input and outputs, constraints, dependencies. (Unfortunately I'm
totally swamped at my job that I've resigned from, and am still
struggling with the implications of a non-compete agreement and trying
to be professional and leave with a successful completion of my
current project, so you should all feel sorrry for me. ;-) (P.S. I
really like Ant and 15 years of 'make' is enough.))
Marvin
At 10:45 21/3/01 +1100, Tim Vernum wrote:
>>I think that the desire to do something like
>>
>> Foreach subdir in toolkit
>> do
>> Compile subdir/source to subdir/classes
>> Jar subdir/classes to subdir/subdir.jar
>> done
>>
>>is a valid request for a build tool, and I don't see it as
>>being declarative.