I just upgraded from Ant 1.7.0 to Ant 1.8.0 and now many of my Ant builds are 
broken.  I have a large build.xml file for my entire project, which has a 
mixture of Java and Python components, that can be built on PC or Mac.  When I 
run the top level ant command it looks like this:
    ant makepc

Various Python builds are kicked off using lines like these in the build.xml 
file:
  <exec executable="python" dir="${pythoncomponent}" failonerror="true">
   <arg value="setup.py"/>
   <arg value="install"/>
  </exec>
Some of these Python builds have internal Java components for which they run 
their own ant build in their own sub-folder trees.  The problem is that as of 
1.8.0 these separate ant builds, initiated by a sub-process of the main ant 
build, somehow get passed the "makepc" target of the main ant build, instead of 
running their own default target as defined in each lower level build.xml file.

Ant did not work like this in version 1.7.0.  Is this a new "feature" of 1.8.0 
or is it a bug that I should file (I've checked the Bugzilla database and can't 
find anything like this)?  If its a "feature", how do I turn it off?

I also have some java sub-components that have their own sub-builds.  With Ant 
1.7.0 I was doing these sub-builds with
    <exec executable="ant" ... />
and these had the same problem with 1.8.0 in that the sub-builds inherited the 
main build's target.  I worked around this problem by replcacing the exec of 
ant with a direct ant call like this:
    <ant inheritAll="false" dir="${javacomponent}"/>
where the inheritAll="false" was necessary to work around this inherited target 
problem in 1.8.0.

Thanks,
Martin

Reply via email to