axis-java-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Matt Seibert <>
Subject Here are the options
Date Tue, 10 Sep 2002 17:38:42 GMT
As far as I can tell, ANT has no concept of "true dependancies" (i.e. it
doesn't know if something has already been done).

So, with a nice tight set of targets like these in the axis build.xml file:

<compile depends="setenv"/>
<buildTest depends="compile"/>
<junit depends="buildTest"/>
<all-tests depends="junit, functional-tests"/>

If you exec "ant all-tests", you exec compile 4 times and exec buildTest 3
times (which is my big leaky target right now), instead of what you would
EXPECT to see which is:
then exec functional-tests

So, we have to either make ANT smarter, or our process dumber.  Here is
what I've got so far:
ant clean compile buildTest   (java consumes 284 M of ram when you're done)
                        buildTest does a "samples" build when it builds
test/functional (as a pre-req)
ant all-tests                 (java consumes < 100 M of ram when you're
                        This execs ONLY junit and functional-tests.  No

running this as two process commands "stops" ant between calls, and frees
the memory that it is leaking.

As far as I can see, here are my options for fixing what is broken, in my
order of preference.
      1) Change the "documented build process" to be "Compile, THEN test",
instead of the ability to "ant all-tests" as today
            This means "ant clean compile buildTest; ant all-tests"
      2) Beat the crap out of the Ant guys until they give us a "forking"
Ant Task.....
      3) "Externally EXEC" the ant calls in the buildTest target (since
there is no "forking" in Ant)
            I, personally, DO NOT LIKE THIS IDEA
      4) Re-instate the buildTest and samples targets from the old
build.xml, and leave the build.xml files in the component Trees
            which means things get out of sync REALLY fast and REALLY

Matt Seibert                                 
IBM        External:    (512) 838-3656      Internal:   678-3656

View raw message