I am trying to build an ant build system where each component builds the things that it depends on. Each thing that they depend on are in differentbuild files. Subsequently, I use the include task. However, I run in to a problem when say component 1 needs to build component 2 and component 2 needs to build component 3. Ant tells me that when I told it to build component 1 that it doesn't know the targets in component 3. How do I get 1 to inherit the includes all the way down the line without explicitly telling it about all the components that anyone depends on?
File 1<?xml version="1.0" encoding="UTF-8"?>
<project name="hpic4vctest" default="build" basedir=".">
<include file="build.xml" as="common"/>
<target name="build" depends="common.build"/>
</project>
<<<<
File 2<?xml version="1.0" encoding="UTF-8"?>
<project name="hpic4vc" default="build" basedir=".">
<!--
===================
COMPILATION SECTION
===================
-->
<include file="testsub/buildcpy.xml" as="nested"/>
<target name = "createBinaryDir">
<echo>I am build file 1's depend</echo>
</target>
<target name = "compile" depends="createBinaryDir, nested.do2">
<echo>I am build file 1 located in ${basedir}</echo>
</target>
<target name = "build">
<property file="build.properties"/>
<antcall target="compile"/>
</target>
File 3
<<<<<
<?xml version="1.0" encoding="UTF-8"?>
<project name="hpic4vc2" default="compile" basedir=".">
<dirname property="hpic4vc2.basedir" file="${ant.file.hpic4vc2}"/>
<property file="${hpic4vc2.basedir}/build.properties"/>
<!--
===================
COMPILATION SECTION
===================
-->
<target name = "createBinaryDir">
<echo>I am build file 2's depend</echo>
</target>
<target name = "compile" depends="createBinaryDir">
<echo>I am build file 2</echo>
</target>
<target name = "do2" depends="compile">
<echo>I am build file 2</echo>
<echo>${hpic4vc2.basedir}</echo>
<echo>VAR: ${test}</echo>
</target>