ant-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Ken Wood <>
Subject RE: Whoa Bessie... Was -- Re: [Proposal] AntFarm
Date Mon, 18 Dec 2000 21:46:42 GMT
I'm gonna pick on a couple of items, not to be picky,
but to illustrate what I mean by requirements
documentation... especially since, at a high
level, I believe I agree in concept with most
of Peter's points....

Peter Vogel wrote:

> Support for a "distribution" build that extracts only those derived objects,
> etc. that are required for installation of the built components on a target
> deployment system.

Using Ant 1.2, I created a 'distribute' target
that uses mkdir, copy, chmod, renameext, and fixcrlf tasks to
assemble a set of files (such as the jar files, html, etc) 
to be used as input to InstallShield, and then used 'exec' 
to run InstallShield to create the installer. So, Ant 1.2
meets the requirement for distribution builds, at least for me....

So, my point is that I also want the requirements to
be fairly well defined. That is, "support for a distribution build" is
too vague. Does this mean a list of basic operations
that, when combined, can be used to make a distribution?
Or, does this mean that there is some way the build
system knows what are derived objects vs source objects,
and knows how to assemble them? We certainly can't get
the design right if we don't get the requirements well

> Support for different build "configurations" -- the simplest example of this
> is a debug vs. a release build, but there are others: in one example from my
> past we had 24 different build configurations (Release/Debug, DVD Region
> 1/2/3/4/5/6, Eval/Paid). All should be buildable/distable within a single
> tree (so
> derived objects should be maintained in a separate location from the source,
> etc.)
> While less of an issue for Java, target HW/OS differences may also be
> considered a configuration differentiator, as might compiler or compiler
> version).

What FUNCTIONALITY is required to do this? I can have a separate
".xml" file for each build configuration, and therefore I could
claim Ant 1.2 meets this requirement. Also, I currently use
the "if" and "unless" capabilities of targets to do NT specific things
versus "unix'y" things with respect to builds or distribution.
Again, if we go down the road of writing a good requirements document, 
it has to be focused and detailed. "Supports X" is too vague. 
Which is why they are no fun to write compare to churning out code :^)

View raw message