Hi,
In my build script I'm downloading a bunch of antlib jars to a specific
directory using Ivy. I then try to load those downloaded antlibs with a
taskdef but for some reason transitive dependencies are not working.
I've reduced this to a simple test case:
Using the following directory layout (file contents below)
build.xml
lib
antlib1
antlib.xml
antlib2
antlib.xml
I'm loading antlib1 from build.xml using
'xmlns:antlib1="antlib:antlib1"' and 'taskdef antlib="antlib:antlib1"
classpath="lib"'. antlib1 uses antlib2 and simply declares an xmlns for
this.
Loading antlib1 from build.xml works correctly, but when antlib1 tries
to load antlib2 it seems to have lost track of the classpath/classloader
that I used to load antlib1. Instead Ant reports that antlib2 could not
be found. I've been able to achieve what I'm trying to do with a custom
'antlibdef' task that does what I expect, but I was wondering now if
this should work with plain Ant in the first place or not.
Am I missing something obvious or is it expected that this does not work?
Regards,
Pepijn Van Eeckhoudt
build.xml:
<project basedir="." name="test" xmlns:antlib1="antlib:antlib1">
<taskdef antlib="antlib:antlib1" classpath="lib"/>
<target name="test">
<antlib1:foo/>
</target>
</project>
antlib1/antlib.xml:
<antlib xmlns:antlib2="antlib:antlib2">
<macrodef name="foo">
<sequential>
<echo>Hello from antlib1</echo>
<antlib2:bar/>
</sequential>
</macrodef>
</antlib>
antlib2/antlib.xml:
<antlib>
<macrodef name="bar">
<sequential>
<echo>Hello from antlib2</echo>
</sequential>
</macrodef>
</antlib>
--
Pepijn Van Eeckhoudt - Project Leader
T +32 16 23 95 91
F +32 16 29 34 22 | pepijn.vaneeckho...@luciad.com
LUCIAD - high performance visualization
Wetenschapspark Arenberg | Gaston Geenslaan 9
3001 Leuven | Belgium | www.luciad.com
---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscr...@ant.apache.org
For additional commands, e-mail: user-h...@ant.apache.org