Hi there,
I am having trouble using third party ant tasks with nested elements, from the
Ant API. For example the ant-contrib IfTask and the svnant SvnTask.
I am able to use both of these tasks in build scripts without a problem, when
running ant from the command line. But I want to use them from the Ant API.
However when I do this I get an error similar to below, which is clearly not
correct:
build.xml:215: Class net.sf.antcontrib.logic.IfTask doesn't support the nested
"equals" element.
I'm running:
RedHat 9
Java 1.4.2 (build 1.4.2_03-b02)
Ant 1.6.0 (compiled on December 18 2003)
Any help would be appreciated. Thanks,
Gerry
The section of the build that is failing is trivial:
<if>
<equals arg1="yes" arg2="no" />
<then>
<echo message="same"/>
</then>
<else>
<echo message="different"/>
</else>
</if>
And the taskdef is declared as below:
<taskdef resource="net/sf/antcontrib/antlib.xml">
<classpath refid="antlib.classpath" />
</taskdef>
I've also tried the following declarations, which makes no difference
<taskdef resource="net/sf/antcontrib/antlib.xml">
<classpath>
<pathelement location="/full/path/to/ant-contrib.jar" />
</classpath>
</taskdef>
<taskdef name="svn" classname="net.sf.antcontrib.logic.IfTask">
<classpath refid="antlib.classpath" />
</taskdef>
The relevent API code is:
String buildFile = "/path/to/build/file";
String buildDir = "/path/to/build/dir";
try {
project.fireBuildStarted();
project.init();
project.setBaseDir( new File( buildDir ));
project.setUserProperty( "ant.file", buildFile);
project.setUserProperty( "ant.version", Main.getAntVersion());
ProjectHelper projHelper = new ProjectHelperImpl();
projHelper.parse(project, new File(buildFile));
project.executeTarget( target );
} catch( Throwable ex) {
error = ex;
} finally {
project.fireBuildFinished(error);
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]