ant inheritance

G

Greg

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 different build 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?
 
L

Lew

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?

Hmm. I think that it might help for you to post the build.xml.

You might just have some subtly off way of invoking things.

Without details of your project structure and how you're trying
to do things now, it's hard to suggest anything other than Ant
subtasks.

The build.xml for component 1 should not be hitting any targets
in the component 3 build.xml, nor even in the component 2 build.xml.

ANother way and likely better is to configure the antecedent
projects as libraries, which if they really are components as you
claim should be straightforward. If it isn't straightforward, perhaps
they aren't really components.

Then make the JAR files for each library as dependencies for the project(s)
that relies(y) on them.
 
G

Greg

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>

 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,982
Messages
2,570,186
Members
46,744
Latest member
CortneyMcK

Latest Threads

Top