ant-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Ken Wood <kw...@i2.com>
Subject Re: What is a 'declarative' language
Date Wed, 28 Mar 2001 15:55:25 GMT
I think having a slick, distributed build system that
takes advantage of multiprocessors on the box, and multiple
boxes on the network is technically fascinating.

I also think it's 2 or 3 sigma out on the curve in
terms of what we need. There are a number of higher
priority requirements. In fact, distributed builds
might be more of a 'meta-Ant' - something outside
ant that uses ant for distributed builds....

David Jencks wrote:
> 
> ..distributed build tool....
> 
> Hope you don't mind me jumping in with a comment..
> 
> I haven't thought about it much yet, but it seems to me that a very elegant
> distributed build tool could be made using JINI/javaspaces.  I'd imagine
> you'd have javaspace entries for the targets, and for the tasks.  You'd
> have deployed objects for each task, and for each target.  You'd need 2 way
> communication -- when you pick a build target, you'd add an "I need this
> target" entry to the space: each target would be looking for a request for
> its services, and when it finds a request, would request the targets it
> depends on.  When a target completes, it would add entries describing the
> completed work, which the depending targets would find and start on.  I
> think this gets by with a minimal and generic controller that doesn't need
> to know itself anything about the dependencies-- mostly it decides how many
> of what workers to put where (after translating XML into entries).
> 
> I'm also not sure exactly how this relates to 'declarative'
> 
> Just an idea
> 
> David Jencks
> 
> On 2001.03.27 05:07:33 -0500 David Bullock wrote:
> > 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: dbullock@lisasoft.com
> > 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
> > --------------------      ------------------------
> >
> >

Mime
View raw message