On 8/6/2012 9:04 AM, Nicolas Lalevée wrote:
There is a possible hack I guess.
There is a deprecated option to typedef : reverseLoader. If set to true, the
classloader inheritance is inverted.
I don't know why it is deprecated but surely for a good reason, so use it at
your own risk
The code shown below _does_ work! Thank you very much! Is this the
best way to take care of this need for both Ant 1.7 and Ant 1.8?
Specifically, what about using *<classloader>* task as an alternative?
I couldn't find examples of how *<classloader>* is used, but saw it in
the 1.8 source code?
If there is a better way to give my classpath priority other than the
*reverseloader *trick, can someone provide example code that works in
both Ant 1.7 and 1.8 (even if conditional code is used) so that I get it
right?
Many thanks!
Steve Amerige
SAS Institute, Deployment Developer
*build.xml:*
<?xml version="1.0" encoding="UTF-8"?>
<project name="Ant" default="main" basedir=".">
<taskdef
name="groovy"
classname="org.codehaus.groovy.ant.Groovy"
classpath="C:/groovy-2.0.1/embeddable/groovy-all-2.0.1.jar"
reverseloader="true"/>
<target name="main">
<echo message="ant: ${ant.version}"/>
<groovy>
println GroovySystem.getVersion()
</groovy>
</target>
</project>**
*output with Ant 1.7.1:*
*without reverseloader="true":*
main:
[echo] ant: Apache Ant version 1.7.1 compiled on June 27 2008
[groovy] 1.7.10
BUILD SUCCESSFUL
*with reverseloader="true":*
[taskdef] The reverseloader attribute is DEPRECATED. It will be removed
main:
[echo] ant: Apache Ant version 1.7.1 compiled on June 27 2008
[groovy] 2.0.1
BUILD SUCCESSFUL
*output with Ant 1.8.4:*
*without reverseloader="true":*
main:
[echo] ant: Apache Ant(TM) version 1.8.4 compiled on May 22 2012
[groovy] 1.7.10
BUILD SUCCESSFUL
*with reverseloader="true":*
[taskdef] The reverseloader attribute is DEPRECATED. It will be removed
main:
[echo] ant: Apache Ant(TM) version 1.8.4 compiled on May 22 2012
[groovy] 2.0.1
BUILD SUCCESSFUL