ant-user mailing list archives

At 10:12 10/8/00 -0700, you wrote:
>This is what I am trying to avoid. I gave an example of this: all rules has
>to be propagated from the project build file to the template file. My rules
>are really simple but yet Ant makes it a nightmare and complicated.
>
>I don't understand why ant is not being designed for this. People make the
>argument that ant is not make. Well, true. However, I'm pointing out the
>most common use and Ant makes it really difficult to use. Don't we want to
>attract more people to use it?
I agree that maintaining a 100 sub-projects is bound to be a nightmare.
Many cases it is no longer necessary to have all sub-projects anymore.
Anyone whos uses ant in the same way they use make (ie with a build.xml per
directory) is bound to run in to troubles.
We could make ant capable of doing all this templating stuff - but we would
loose it's simplicity and eventually it would become make in java + xml. A
BAD thing. Make is extremely painful to read compared to ant, you have to
be familiar with a lot of things if you read my make files. However my top
make files are extremely simple -
###########################################################################
# Java libraries
###########################################################################
JAVA.DESCRIPTION = Java libraries
JAVA.DEPEND =
JAVA.JAVA = $(wildcard $(JAVADIR)/*/*.java
$(JAVADIR)/*/*/*.java $(
JAVADIR)/*/*/*/*.java )
JAVA.CLASSPATH.EXTRA =
/usr/local/jars/xerces.jar:/usr/local/bml-2.4/lib/bmlal
l.jar:/home/donaldp/junit/test.jar:/home/donaldp/log4j/log4j-v0.8.4d/log4j.jar
###########################################################################
# Scripting Support library
###########################################################################
SCRIPT.TYPE = exe
SCRIPT.NAME = script
SCRIPT.DESCRIPTION = Scripting Support library
SCRIPT.DEPEND =
SCRIPT.DEFINES = -DSCRIPTAPI=EXPORT
SCRIPT.SRC = $(wildcard $(SRCDIR)/script/*.cpp )
###########################################################################
# Cross Platform library
###########################################################################
XP.NAME = xp
XP.DESCRIPTION = Cross Platform Services
XP.DEPEND =
XP.DEFINES = -DXPAPI=EXPORT
XP.SRC = $(wildcard $(SRCDIR)/sys/$(OS)/xp*.cpp )
XP.LIB.EXTRA = $(LIB.XPSHLIB)
###########################################################################
# Standard Debugging library
###########################################################################
STDDBG.NAME = stddbg
STDDBG.DESCRIPTION = Standard Debugging library
STDDBG.DEPEND = $(XP.NAME)
STDDBG.DEFINES = -DDBGAPI=EXPORT
STDDBG.SRC = $(wildcard $(SRCDIR)/dbg/*.cpp )
etc ....
As long as someone using my makefiles doen't have to change rules then they
are right - if however they do need to make changes they got no chance.
I would love to see a tool built on top of ant that did transforming. This
hasn't happened thou so feel free to do it. It will never happen inside ant
but on top of it is another issue :P
Cheers,
Pete
*------------------------------------------------------*
| "Nearly all men can stand adversity, but if you want |
| to test a man's character, give him power." |
| -Abraham Lincoln |
*------------------------------------------------------*