ant-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Bill Chmura" <>
Subject RE: Separation from rules and project specifics. Can it be done?
Date Wed, 11 Jun 2003 15:19:51 GMT

<!DOCTYPE project [
     <!ENTITY siteframercode SYSTEM

<project basedir="." default="help">
  <property name="project.version"    value="1.0"/>
  <property name=""	  value=""/>  
  <property name="cvs.root"           value=""/>
  <property name="template.dir"
  <property name="datasource.dir"     location="${cvs.package}/data"/>
  <property name=""      value=""/> 



The siteframer2-dist\build_system_file has a all the calls that would be
made from the command line in a build.

Its not pretty or overly complicated, but I have about 20 different
builds using the same logic, just different config files.

Personally I think you should stand up for yourself and keep using Make!
Don't let the teeming masses tell you whats right or force you to do
something you don't want to do!  Be your own man... Yah!

-----Original Message-----
From: Peter Kriens [] 
Sent: Wednesday, June 11, 2003 6:21 AM
Subject: Separation from rules and project specifics. Can it be done?

When ANT was very new I looked at it and decided not to touch for a
while because I felt I would loose too much of the facilities I had in
my current build system.

Today, ANT has moved to mainstream and I am more or less forced to work
with it. However, it feels like a small step forward in portability and
a GIANT step backward in usability (I used to use make with UNIX or

The XML is VERY hard to read and understand. What used to be a few words
becomes many lines in XML (I have quite a bit of experience with XML
because I am a heavy XSLT coder (which has the same readability problem
imho)). Using XML for this purpose looks like going back to pre-fortran
However, my main problem is the golden software rule: Only define things
ONCE. For some reason it seems almost impossible to define the specific
information at one place and place the rules in a file that is shared. I
have to make a lot of similar components (OSGi bundles) and my current
make files for each bundle are extremely clean without any rules (which
allows me to redefined and add rules later). I tried hard, but in ANT it
looks like ANT is fighting this approach tooth and nail. For example,
packages are extremely important in OSGi and the same set of packages
appear in several places in different rules and in several forms
(com.acme.x and com/acme/x). Iterating, prefixing, modifying is trivial
to do in make but escapes me in ANT, the files I see often just repeat
this information.

Especially frustrating is that filesets cannot contain filesets.
Properties and filesets can also not easily be translated into each
other. Same for paths. Often you define the basic parameters in the
specific build file but extend it in the generic. This turns out to be
tricky imho, but I may miss something.

Also the manual is hard to figure out what you can do and cannot do.
Often you must try out something before you can understand if it works.
A DTD for each task would be nice.

I would really appreciate to see some build files where the specific
parts of a project are cleanly separated from the generic parts to learn
some of the tricks. Does anybody have one for me?

To be honest, so far my love for ants hasn't increased ... :-)

Kind regards,

   Peter Kriens

To unsubscribe, e-mail:
For additional commands, e-mail:

To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message