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

Reply via email to