On Tue, 27 Mar 2001, Tim Vernum wrote:

> I'd like to see list/set based operations. But I like them because
> they're a fairly clean, simple, and powerful way of supporting 
> iteration, not because they're declarative.
> 

Point taken. :-)

The request for 'declarative' comes from people who wish to attempt to 
parallelise execution of Ant tasks in a distributed ( multi-machine / multi-OS 
) fashion.

I think the contention is that, if the dependency graph cannot be determined by 
each execution context at startup ( which is the benefit of a purely 
declarative language ), then it makes the task of implementing this more 
difficult.

Without thinking too much about it yet, there seem to be two basic approaches 
to 'distributed ant' possible here:

1a) a 'controller' antd process invokes the task-building services of various 
other antd's  ... that is, the controller knows what the dependency graph is, 
and simply farms out work at a task-atomic level.

1b) as for 1a, except that chunks of the dependency graph are farmed out at a 
time (non task-atomic)

2) a set of antd services is given a build-file to build, and a pointer to a 
shared BuildState kept in JNDI ( or something like that )


Intuitively, model 2 seems more flexible.  Not sure what the benefits of 
knowing the dependency graph at startup would be.
Model 1a doesn't seem to have any special requirements for the dependency graph 
to be known at startup.
Model 1b would require the dependency graph to be known at startup, and not to 
change.


I really think the 'declarative' discussion is up to the people who want to do 
'distributed ant' sometime in the future.  What are the constraints on the 
buildfile language that would really be showstoppers if not observed?


( I should add that, in the multi-tool world of Java, it is important to be 
able to do distributed builds on different underlying OS's )



regards,
David.


Thanks everyone, for Ant!


David Bullock
LISAsoft Project Lead
Sun Certified Programmer for the Java 2 Platform 
 
 email: [EMAIL PROTECTED]
mobile: +61 4 0290 1228

"The key ingredients of success are a crystal-clear goal, 
a realistic attack plan to achieve that goal, 
and consistent, daily action to reach that goal."

Steve Maguire, "Debugging the Development Process". 

LISAsoft
http://www.lisasoft.com/

Adelaide                  Sydney
--------------------      ------------------------
38 Greenhill Rd           Level 3, 228 Pitt Street
Wayville S.A. 5034        Sydney NSW 2000
Australia                 Australia

PH  +61 8 8272 1555       PH  +61 2 9283 0877
FAX +61 8 8271 1199       FAX +61 2 9283 0866
--------------------      ------------------------

Reply via email to